是否range()不会每次都评估其参数?
问题内容:
l
作为参数传递给range
函数,该函数的值在for
循环内部被修改,但循环执行的10
时间是而不是5
。
i = 0
l = 10
for i in range(l):
print i,l
l = l-1
输出是
0 10
1 9
2 8
3 7
4 6
5 5
6 4
7 3
8 2
9 1
虽然我期望
0 10
1 9
2 8
3 7
4 6
是否range()
为只在第一次评估值或别的东西,是什么原因?
问题答案: