2014-02-08 51 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

谢谢你通知我。 –