Sha*_*mar 2 python for-loop range
l作为参数传递给range函数,该函数的值在for循环内进行了修改,但循环执行的10时间是而不是5。
i = 0
l = 10
for i in range(l):
print i,l
l = l-1
Run Code Online (Sandbox Code Playgroud)
输出是
0 10
1 9
2 8
3 7
4 6
5 5
6 4
7 3
8 2
9 1
Run Code Online (Sandbox Code Playgroud)
虽然我期望
0 10
1 9
2 8
3 7
4 6
Run Code Online (Sandbox Code Playgroud)
是否range()为只在第一次评估值或别的东西,是什么原因?