Python 如何调用函数来处理列表

Python 如何调用函数来处理列表,python,Python,我创建了一个函数来查找硬编码2d列表的列和,所以我试图让它只打印出硬编码列和的值。我基本上添加了列索引,并将它们的总和添加到一个空列表中。然后我返回了那个空列表。当我试图打印空列表的值时,我得到一个错误,有什么帮助吗 #Function that returns column sums for list1 def columnsumsfunction(a) : rowsize = len(list1) columnsize = len(list1[

我创建了一个函数来查找硬编码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] ]

您问题中的代码有点乱,但是如果您解决了这个问题,并将函数中的
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 而c
def 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