2013-09-24 3 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 

, но это не сработало, потому что возвращение заявления не работают, как этот

+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 
>>> 
Смежные вопросы