我创建了一个函数来查找硬编码的2d列表的列总和,所以我试图让它只打印硬编码列总和的值。我基本上添加了列索引,并将它们的总和添加到空列表中。然后我退回那个空列表。当我尝试打印空列表的值时,我得到一个错误,有什么帮助吗?
#Function that returns column sums for list1
def columnsumsfunction(a) :
rowsize = len(list1)
columnsize = len(list1[0])
csum =[]
c = 0
while c < columnsize :
totalsum = 0
r = 0
while r < rowsize :
mysum = list1[r][c]
totalsum = totalsum + mysum
r = r + 1
c = c + 1
csum.append(totalsum)
return csum
for a in list1 :
csum = columnsumsfunction(a)
print csum
#main
list1 = [[1, 2, 3],
[4, 5, 6] ]
我只是不确定如何调用函数来处理list1。利
我只是试图调用打印功能
5 7 9
答案 0 :(得分:0)
您的问题中的代码有点乱,但如果您修复了该问题并将list
中的所有实例更改为a
,您将设置该函数:
#Function that returns column sums for list1
def columnsumsfunction(a) :
rowsize = len(a)
columnsize = len(a[0])
csum =[]
c = 0
while c < columnsize :
totalsum = 0
r = 0
while r < rowsize :
mysum = a[r][c]
totalsum = totalsum + mysum
r = r + 1
c = c + 1
csum.append(totalsum)
return csum
list1 = [[1, 2, 3],
[4, 5, 6] ]
csum = columnsumsfunction(list1)
print csum
答案 1 :(得分:0)
def columnsumsfunction():
index = 0
rowsize = len(list1)
columnsize = len(list1[0])
csum =[]
c = 0
while c < columnsize :
totalsum = 0
r = 0
while r < rowsize :
mysum = list1[r][c]
totalsum = totalsum + mysum
r = r + 1
c = c + 1
csum.append(totalsum)
return csum
#main
list1 = [[1, 2, 3],
[4, 5, 6] ]
csum = columnsumsfunction()
print csum
如果您正在尝试打印5 7 9,此代码可以正常工作 你根本不需要list2。在定义了list1之后调用columnsfunction() for循环也不是必需的。