2
my_list = ['a','b','c']

def func(input):
    for i in input:
        print i
print func(my_list)

输出

a
b
c
None

我不想要“无”,那么如何执行一行代码来返回输入列表中的项目?

我试过:

return for i in input: print i

但它不起作用,因为 return 语句不像那样工作

4

3 回答 3

6

func您正在打印is的返回代码none。只需调用func(my_list)没有print.

于 2013-09-24T20:05:04.510 回答
2

默认情况下,None如果函数结束而不返回,则返回。因此,由于 中没有return语句func,因此它会None在调用时返回。

此外,通过使用print func(my_list),您是在告诉 Python 打印返回的func内容,即None.

要解决您的问题,只需删除print并执行以下操作:

func(my_list)

此外,如果my_list不是很长,那么你根本不需要一个函数来做你正在做的事情。只需join像这样使用字符串的方法:

>>> my_list = ['a','b','c']
>>> print "\n".join(my_list)
a
b
c
>>>
于 2013-09-24T20:06:37.877 回答
1

您无需致电print func(my_list)- 只需执行以下操作:

func(my_list)
于 2013-09-24T20:04:28.577 回答