python - 在“for”循环中列出附加问题
问题描述
我试图解决一个包含与此类似的代码部分的问题。但是每当我尝试执行脚本时,它就会变成一个无限循环。这个问题的原因是什么,我该如何解决?
a=[1,2]
for i in a:
a.append(i)
print("Infinite")
我在我的计算机和 Google Colab 上本地尝试了这个程序,但在这两种情况下。但是,它不是将值 1、2 附加到 list a
,而是以不同的方式工作。
a
我通过分配z=a
和更改for
循环的结构创建了一个副本,如下所示:
z=a
for i in z:
a.append(i)
但问题还是一样:
解决方案
正在发生的事情是,对于循环的每次迭代,都会将一个新值添加到 list 中a
。这意味着每次迭代后列表中总会有一个新元素,这意味着循环永远不会结束。
至于您的 副本a
,这并不能完全创建a
. z=a
只是引用变量a
,所以修改z
也会修改a
。
推荐阅读
- javascript - 函数结果只持续一毫秒
- swift - 创建没有任何持久数据的 NSPersistentContainer
- c# - C# HttpWebRequest 表单发布数据
- json - 如何通过 JSON 将所有记录正确显示为数组
- javascript - 反应:将`this`传递给具有多个功能的onClick
- testcontainers - 测试容器:不同网络之间的通信
- javascript - 尚未执行的代码会影响其上方的上下文
- c# - 为什么 ExecuteNonQuery 在两次插入后停止工作?
- database - 将在 LabVIEW 中编程的机器生成的数据簇或数组发送到 Firebase
- javascript - Jest 遇到了意外的令牌导出