我正在學習python。這是我用來將文本文件讀入列表的一個小測試程序。這是文本文件:在Python中讀取文本文件到列表中
42 1
35 5
50 2
41 6
42 3
48 4
這是我的代碼:
score = [];
for i in range(0, 51):
score.append(0);
f = open("test1.txt", "r");
for line in f:
a, b = map(int, f.readline().split());
score[a] = score[a] + b;
print(score);
我試圖模仿C++中的數組列表。從文本文件中讀取每一行,該行的第一個數字是列表中將保存第二個數字值的位置。由於某些原因,該計劃正在跳過第1,3,5行。這是我運行程序時的結果。
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 4, 0, 0]
它應該是
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 6, 4, 0, 0, 0, 0, 0, 4, 0, 2]
任何想法,我可能會做錯了?這是Python 3
什麼跟所有的分號的? – khelwood 2014-10-07 21:29:41
作爲一個方面說明:'score = [0代表範圍(51)]中的i'或者只是'score = [0] * 51'將是一個更簡單的創建51個零的數組的方法。 – abarnert 2014-10-07 21:30:44