2016-12-14 136 views
0

嘗試對每個相應列中的所有整數進行求和,將每個和 存儲在一個列表中。當我運行代碼時,它會產生一個類型錯誤=列表索引必須是整數或切片,而不是元組。2-D數組中的列總和。 TypeError:列表索引必須是整數或切片,而不是元組

array = [[3, 5, 7, 9] 
     [2, 7, 3, 5], 
     [1, 2, 6, 3], 
     [6, 9, 5, 3]] 

column_sum = [] 
total = 0 
i = 0 
for row in aList: 
    total = total + row[i] 
    column_sum.append(total) 
    total = 0 
    i = i + 1 
print(column_sum) 

回答

0

您的錯誤是在array的第一行之後缺失的逗號。此外,您可以在for循環中通過aList參考array

隨着這些變化你的代碼運行,但我不認爲它會給你你想要得到的結果。我認爲這是你想要的:

array = [[3, 5, 7, 9], 
     [2, 7, 3, 5], 
     [1, 2, 6, 3], 
     [6, 9, 5, 3]] 

column_sum = [0, 0, 0, 0] 
for row in array: 
    for i, element in enumerate(row): 
     column_sum[i] += element 
print(column_sum) 

請注意,這種書寫方式是相當低水平和非pythonic。你應該考慮唱NumPy做這些事情。

相關問題