gpt4 book ai didi

python - range() 不是每次都会计算它的参数吗?

转载 作者:行者123 更新时间:2023-12-02 00:46:58 26 4
gpt4 key购买 nike

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() 仅在第一次评估值还是有其他原因?

最佳答案

不,for 循环仅计算可迭代表达式一次。

range() 被调用一次,然后 for 循环迭代结果。

引自for statement documentation :

The expression list is evaluated once; it should yield an iterable object.

强调我的。

关于python - range() 不是每次都会计算它的参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22232558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com