将列表的列表导入Python
我创建了一个列表,里面包含了学生的分数数据。这个列表叫做“class1”,每个学生都有一个名字,后面跟着三个分数。我可以顺利地对这个列表进行排序,也能把数据写入文件,格式看起来也很不错:
class1=[["Tom",7,2,1],["Jo",8,0,0],["Adelphe",9,0,0]]
写入后,数据看起来像这样,我对此很满意:
['Tom', 7, 2, 1]
['Jo', 8, 0, 0]
['Adelphe', 9, 0, 0]
问题出现在我尝试读取这个列表的时候。每个子列表都被当作字符串来读取。我似乎无法改变这一点。
这是我的代码:
class1 = [line.strip() for line in open("data2.txt", 'r')]
这是读取后列表的样子,可以看到每个子列表周围都有引号,这意味着它们在class1列表中是字符串:
["['Tom', 7, 2, 1]", "['Jo', 8, 0, 0]", "['Adelphe', 9, 0, 0]"]
有没有人能帮帮我,我搜索了很多,但找不到有相同问题的人。
谢谢,汤姆
1 个回答
1
在编程中,有时候我们会遇到一些问题,想要找到解决方案。比如说,有人可能会在网上提问,寻求帮助。这个时候,其他人就会在一个叫做StackOverflow的网站上回答他们的问题。
StackOverflow是一个专门为程序员提供帮助的平台,大家可以在这里提问、回答问题,分享自己的经验和知识。这个网站上有很多人,大家都很乐意帮助别人解决编程上的难题。
当你在StackOverflow上看到一个问题时,通常会有很多人给出不同的答案。每个答案可能会有不同的思路和方法,帮助提问者找到合适的解决方案。
总之,StackOverflow就像一个大型的编程问答社区,大家可以在这里互相学习,解决问题,提升自己的编程技能。
>>> import ast
>>> with open('/path/to/data2.txt', 'r') as classes:
lines = [ast.literal_eval(line.strip()) for line in classes]
>>> print lines
[['Tom', 7, 2, 1], ['Jo', 8, 0, 0], ['Adelphe', 9, 0, 0]]