我正在按以下方式迭代列表:
当我打印列表的内容时
我知道Python不支持在迭代列表时修改它,正确的方式是迭代列表的副本。但是我想了解背后的原理,即上面代码段的输出为什么是
some_list = [1, 2, 3, 4]
another_list = [1, 2, 3, 4]
for idx, item in enumerate(some_list):
del some_list[idx]
for item in another_list:
another_list.remove(item)
当我打印列表的内容时
>>> some_list
[2, 4]
>>> another_list
[2, 4]
我知道Python不支持在迭代列表时修改它,正确的方式是迭代列表的副本。但是我想了解背后的原理,即上面代码段的输出为什么是
[2, 4]
?