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就被跳过了









免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM