当我将它们传递给函数时,为什么我的所有列表都没有?

时间:2014-12-04 16:56:16

标签: python

我试图创建一个程序,要求我将多个列表传递给函数。但是,当我返回我传递给它的函数中的每个列表时,它们就会变成“没有”#39;。 这是我的一个列表如何制作然后通过的编码。

def somelist(magslist):
    return magslist

def main():
    alist = []
    for i in range(5):
        alist.append(i)
    somelist(alist)

main()

2 个答案:

答案 0 :(得分:1)

试试这个:

def somelist(magslist):
    return magslist

def main():
    alist = []
    for i in range(5):
        alist.append(i)
    print somelist(alist)   # print it here only, for python3 use print with brackets

main()

或者:

def somelist(magslist):
    return magslist

def main():
    alist = []
    for i in range(5):
        alist.append(i)
    return somelist(alist)

my_list = main()   # my_list will save the list return my main function
print my_list

你不需要一些列表功能:

 def main():
     alist = []
     for i in range(5):
         alist.append(i)
      return alist          # return alist directly 

 my_list = main()   # my_list will save the list return my main function
 print my_list

答案 1 :(得分:-1)

somelist()函数没问题。问题是main()在调用somelist()后没有返回任何内容。

通过从结尾(如你所做的)或普通的'return'语句退出的函数实际上返回None

将main()的最后一行更改为

return somelist(alist)

然后,您将需要打印调用main()的结果,以查看它不在REPL中时返回的内容。