python - 为什么这段代码不能无限运行?

标签 python arrays append range infinite-loop

my_array = [1,2,3,4,5]
total = len(my_array)
for value in range(total):
    print(my_array[value])    
    my_array.append(value*value)
    total = len(my_array)
print(my_array) 

如果您连接调试器并看到变量“total”的值会增加

最佳答案

range(total) 仅在循环开始时计算一次。每次迭代后不会重新评估它。因此,尽管循环内部的总数增加了,但循环只会运行 5 次。

关于python - 为什么这段代码不能无限运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59108543/

相关文章:

python - wxPython 将文本绘制到现有位图或图像上

python - 如何使用 vault 在 Ansible 中运行 playbook api

python - 如何将不同维度的numpy数组附加到python中已有的文本文件中

arrays - Swift - 通过修剪给定父项中的子项 "owned"来过滤数组

java - 用于 append 组合框的 ActionListener

python - 使用 python 和 scrapy 删除第一个标签 html

python - 如何在 sqlalchemy 中将列重置为其默认值?

arrays - 在 MS Access 中公开数组 - 相当于 var_dump()

list - 将字符串 append 到 Erlang 中的字符串列表

javascript - 根据父 div 的 id 添加升序图像