今天写算法的时候遇到了如下类似的情况:
fn_ = [[0,0] for _ in range(6)]
for index, fn in enumerate(fn_):
if index == 0:
fn_[2] = [1,1]
print(index, fn)
>>> 0 [0, 0]
1 [0, 0]
2 [1, 1]
3 [0, 0]
4 [0, 0]
5 [0, 0]
找了很久算法错误才发现发生了如上列表对象的动态遍历, 请问这是什么原理? 我一直以为循环时对象是不会改变的