2014-02-08 71 views
-1

我最近開始使用python,想知道如何覆蓋列表中的元素。我製作了一個有x行和y列的二維列表。我正在計算每列的總和,並將其存儲在相同的數組應該有不同的列的總和,但得到2 * x行,因爲我不知道如何覆蓋元素,因此我將總和追加到list。我想用sum覆蓋2-D列表值,這樣只有x行而不是2 * x行。覆蓋python中的二維列表

List = [[0 for col in range(K)] for row in range(T)] 
file = open("xyz.txt", "r") 
for word in file: 
    for j in range(T): 
     for k in range(K): 
      concat = str(k) + str(repr((1+e)**j+1)) + word 
      m = hashlib.md5() 
      m.update(concat) 
      concat = long(m.hexdigest(),16) 
      if (concat % int((1+e)**j+1)) == 0: 
      List[j][k] = 0  

for i in range(T): 
    List[i] = sum(List[i]) 
    List.append(List[i]) 
print List 

輸出:

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, 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, 1, 8, 10, 34, 59, 102, 157, 204, 248, 281, 
339, 348, 389, 429, 435, 464, 464, 478, 489, 496, 501, 497, 
504, 504, 503, 508, 506, 509, 508, 510, 510, 511, 511, 509, 
509, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 
511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 
511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511] 

我所要的輸出是:

[1, 8, 10, 34, 59, 102, 157, 204, 248, 281, 339, 348, 389, 
429, 435, 464, 464, 478, 489, 496, 501, 497, 504, 504, 503, 
508, 506, 509, 508, 510, 510, 511, 511, 509, 509, 511, 511, 
511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 
511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 
511, 511, 511, 511, 511, 511, 511, 511] 
+4

請發佈您的代碼樣本輸入和預期輸出。 –

+0

如果您可以發佈一段簡單的代碼來再現您的數據,並且您可以準確解釋您想要獲得的內容,這將有所幫助。 –

+0

我已經添加了代碼和輸出。 –

回答

0

此行是沒有必要的:List.append(List[i])

+0

謝謝,它的工作。 –

+0

請接受答案,讓其他人知道問題已解決。 –

+0

謝謝你通知我。 –