我已经制作了列表来存储给定学生的分数数据。该名单被称为“class1”,每名学生都有一个名字,然后是3分。我可以对这个文件列表罚款,可以写信给其显示出正确格式的数据文件:将列表清单读入Python
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]"]
任何人都可以帮助我,我做了很多搜索,但找不到任何人有同样的问题。
谢谢,汤姆
你的意思是'split',不'strip'。 – jonrsharpe 2014-10-27 11:32:25
为什么不使用JSON或CSV而不是发明自己的格式? – geoffspear 2014-10-27 11:33:15
尝试使用'eval(string)'。如果字符串表示一个列表,它应该成为一个python列表对象。即'class1 = [eval(line.strip())for line in open(“data2.txt”,'r')]' – SomethingSomething 2014-10-27 11:33:21