2013-09-24 69 views
0
my_list = ['a','b','c'] 

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

輸出從函數列表中返回列表項。 Python的

a 
b 
c 
None 

我不希望「無」,所以我該怎麼辦的一行代碼,以返回我的輸入列表中的項目?

我想:

return for i in input: print i 

,但它沒有工作,因爲return語句不喜歡

+0

我什至不知道我想問什麼回頭看這個 –

回答

4

您正在打印func的返回碼,即none。只需撥打func(my_list)而不用print

1

的工作,你不需要調用print func(my_list) - 只是做:

func(my_list) 
2

默認情況下,函數返回None,如果它們到達最後而不返回。因此,由於func中沒有return語句,因此調用時將返回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 
>>>