【发布时间】:2019-04-06 12:56:00
【问题描述】:
首先免责声明:
我不想使用这样的代码,我知道这是一种不好的做法。同样,我对如何改进它、使它正确的提示也不感兴趣。我感兴趣的是一个理论。
这样的代码如何在 python 3.6 中工作:
ls = range(5)
for elem_a in ls:
ls = range(5, 10)
for elem_b in ls:
print(elem_a, elem_b)
我在迭代时重新分配 ls 的值。 for elem_a in ls第一次执行时,第一次迭代中ls的值是否存储在内存中?
【问题讨论】:
-
对于外循环,
ls事先已经是range(5),无论它在循环内发生什么变化,它都会遍历这个可迭代对象。 -
太好了,我是这么认为的。谢谢您的即时答复。
标签: python python-3.x loops iteration