gpt4 book ai didi

python - 创建一个无限循环

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:51 25 4
gpt4 key购买 nike

我想测试 python 是否允许我运行这段代码:

listWords = []
for i in range (len(listWords)+1):
listWords.append("New word")
print ("End loop")

原因是我想创建一个程序来尝试解决一个解决方案,然后将新项目添加到列表中进行测试。

为什么当我向列表中添加新项目时 python 不更新 for 循环范围?

有没有办法使用 for 循环解决这个问题? (我怀疑 while 循环可以解决我的问题,但我只是好奇)

谢谢

最佳答案

遍历同时更新的列表是不好的做法。

在您的代码中,在您运行循环之前已经计算了范围,因此范围将为 range(1),然后 for 循环仅运行一次并停止。如果 listWords 不为空,而是 listWords = ['a','b'],也可以观察到这一点,因此下面的循环运行 3 次,因为迭代器是 范围(3)

那么代码就变成了。

listWords = ['a','b']
for i in range (len(listWords)+1):
listWords.append("New word")
print ("End loop")
print(listWords)
['a', 'b', 'New word', 'New word', 'New word']

虽然循环没有这样的限制,但下面的例子将继续运行,因为 len(listWords) 总是在下一次迭代结束时更新

listWords = []
i = 0
while i < (len(listWords)+1):
listWords.append("New word")
i+=1

关于python - 创建一个无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55809659/

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