Python 如何调用函数来处理列表
我创建了一个函数来查找硬编码2d列表的列和,所以我试图让它只打印出硬编码列和的值。我基本上添加了列索引,并将它们的总和添加到一个空列表中。然后我返回了那个空列表。当我试图打印空列表的值时,我得到一个错误,有什么帮助吗Python 如何调用函数来处理列表,python,Python,我创建了一个函数来查找硬编码2d列表的列和,所以我试图让它只打印出硬编码列和的值。我基本上添加了列索引,并将它们的总和添加到一个空列表中。然后我返回了那个空列表。当我试图打印空列表的值时,我得到一个错误,有什么帮助吗 #Function that returns column sums for list1 def columnsumsfunction(a) : rowsize = len(list1) columnsize = len(list1[
#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] ]
您问题中的代码有点乱,但是如果您解决了这个问题,并将函数中的
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的列和的函数
def列SUMSFUNCTION(a):
行大小=长度(a)
columnsize=len(a[0])
csum=[]
c=0
而cdef columnsumsfunction():
索引=0
rowsize=len(列表1)
columnsize=len(列表1[0])
csum=[]
c=0
而c
如果您试图打印5 7 9,则此代码可以正常工作。你根本不需要列表2。在定义list1之后调用columnsfunction()。
也不需要for循环。1。如果与问题无关,请删除列表2。2.你有什么错误?3.如果输入为
list1
,预期输出是什么?4.函数接受一个从未使用过的参数a
。这是怎么回事?我得到了以下错误NameError:name'list1'未定义。当我取出代码的逻辑部分并只打印填充的空列表“csum”时,我得到[5,7,9],因此逻辑是正确的,但我不知道如何调用函数来打印这些值您的缩进不正确:函数中没有for
循环,这就是为什么列表1
尚未定义的原因(除非你把它贴进去incorrectly@DavidRobinsonfor循环不应该在函数中。它根本不需要存在。@kojiro:我也误读了函数:list1
在函数中也总是未定义的
#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
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