【发布时间】:2014-01-03 11:32:30
【问题描述】:
假设我编写了一个 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的作用。
标签: python function for-loop printing return