2015-11-21 74 views
1

我对编程和Python很新颖。我的教科书并没有给我提供任何有关这方面的信息,现在我很难过。 这是我现在的代码,我需要显示添加的列,并像我有行一样显示它们。在Python中的2D列表中添加列

编辑:

我曾读到这里如何使用拉链的几个不同岗位(),但我的书没有涉及,所以我无法真正使用它。然而,这是我最终做的:

import random 

ROWS = 3 
COLS = 3 

def main(): 
    values = [[0, 0, 0], 
      [0, 0, 0], 
      [0, 0, 0]] 
for r in range (ROWS): 
    for c in range(COLS): 
     values[r][c]= random.randint(1,4) 

#add up rows 
    row0=sum(values[0]) 
    row1=sum(values[1]) 
    row2=sum(values[2]) 

#add up columns 
    col0=(values[0][0]+values[1][0]+values[2][0]) 
    col1=(values[0][1]+values[1][1]+values[2][1]) 
    col2=(values[0][2]+values[1][2]+values[2][2]) 

#print results 
    print ("List: ") 
    print (values) 

print ("Total of row 0 is", row0) 
print ("Total of row 1 is", row1) 
print ("Total of row 2 is", row2) 
print ("Total of column 0 is", col0) 
print ("Total of column 1 is", col1) 
print ("Total of column 2 is", col2) 


main() 
+0

您能更具体地了解您的问题吗?你的预期产出是多少? – zeeMonkeez

+0

听起来像[zip()](https://docs.python.org/2.7/library/functions.html#zip)是你需要的。它基本上为您交换了列和行。 – Felk

回答

0

这行代码将显示总计列的列表。 Here是对zip函数的描述。

print [sum(x) for x in zip(*values)] 
1

在这里,我不使用列表理解或zip,因为你是编程新手。希望下面的代码非常简单和自我解释。

for c in range(COLS): 
    sum_col =0 #reset value all row after read 
    for r in range (ROWS): 
     sum_col+= values[r][c] # sum each element 
    print (sum_col) #finaly print it