python中 for循环的坑

删除列表中 a = [11, 22, 33, 22, 22, 44, 55, 77, 88, 99, 11] 的 77,88,99 这3个数


输出为:[11, 22, 33, 22, 22, 44, 55, 88, 11]

其中 88 没有删除掉,为什么?

for 循环遍历列表a的时候,虽然条件的 列表里面的值,实际是从 索引0 开始遍历列表,当 i=77,也就是索引为 7的时候,
执行了 a.remove(77),执行完之后,列表为
a = [11, 22, 33, 22, 22, 44, 55, 88, 99, 11], 此时,88到了索引 7的位置,
然后下一次遍历,就是索引为8 位置的元素,而此时,索引为 8位置的数据是 99,所以99倍删除了,88就被跳过了








原文地址:https://www.cnblogs.com/xiaofeng91/p/11968089.html