首先是免责声明:
我不想使用这样的代码,我知道这是一个不好的做法.同样,我对如何改进它,使其正确的提示不感兴趣.我感兴趣的是理论.
为什么这样的代码在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)
Run Code Online (Sandbox Code Playgroud)
我在迭代它时重新分配ls的值.ls第一次迭代中的值是否在第一次执行时存储在内存中for elem_a in ls?