比方說,我寫一個for循環,將輸出所有的數字1到x:的「返回」功能只返回一個值
x=4
for number in xrange(1,x+1):
print number,
#Output:
1
2
3
4
現在,把同樣的for循環到一個函數:
def counter(x):
for number in xrange(1,x+1):
return number
print counter(4)
#Output:
1
爲什麼我只有在將for循環放入函數時才獲得一個值?
我一直在迴避這個問題,將for循環的所有結果附加到列表中,然後返回列表。
爲什麼for循環添加所有的結果,而不僅僅是一個?:
def counter(x):
output=[]
for number in xrange(1,x+1):
output.append(number)
return output
什麼是返回所有的值,附加到列表的最好方法似乎非常低效。
'return'返回從功能。你可能對'yield'感興趣,但是這需要了解「return」的功能。 – squiguy