如何用Python从文本文件生成正确格式的嵌套列表?
解决读取文本文件生成嵌套整数列表的问题
嘿,我看你现在的问题是读取文本文件里的列表内容时,得到的是字符串组成的列表,而不是真正的嵌套整数列表对吧?这是因为你只是把每行的文本内容直接添加到了nested_List里,没有把字符串解析成Python的列表对象。另外你的代码里还有几个小笔误得先修正下:比如arch.close()应该是file.close(),return (esta)里的esta应该是你定义的nested_List哦。
下面给你两种可行的解决方案:
方法一:使用ast.literal_eval()(推荐,更安全)
ast.literal_eval()可以安全地解析字符串形式的Python字面量(比如列表、字典、元组等),不会像eval()那样执行任意代码,非常适合处理这种场景。
import ast nested_List = [] file = open("example_File.txt", 'r') for line in file: # 去掉每行末尾的换行符 cleaned_line = line.rstrip("\n") # 将字符串解析为实际的列表对象 parsed_list = ast.literal_eval(cleaned_line) nested_List.append(parsed_list) file.close() # 如果是在函数中,这里可以return nested_List print(nested_List) # 输出:[[1, 2, 3], [2, 3, 4], [3, 4, 5]]
方法二:使用json.loads()
因为你文本里的列表格式正好符合JSON数组的格式,所以也可以用json模块来解析:
import json nested_List = [] file = open("example_File.txt", 'r') for line in file: cleaned_line = line.rstrip("\n") parsed_list = json.loads(cleaned_line) nested_List.append(parsed_list) file.close() print(nested_List) # 输出:[[1, 2, 3], [2, 3, 4], [3, 4, 5]]
两种方法都能帮你得到期望的嵌套整数列表,要是你的文本内容都是标准的列表格式,随便选哪种都可以~
内容的提问来源于stack exchange,提问作者Eduardo García Olmos
相关产品推荐
相关产品推荐

