我已經制作了列表來存儲給定學生的分數數據。該名單被稱爲「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