python列表循环中删除元素
2022/2/7 22:44:22
本文主要是介绍python列表循环中删除元素,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
遍历n个元素的列表,每次循环时删除当前元素,那么要多少次结束循环呢。
上一段代码:
arr = [0,1,2,3,4] for x in arr: print('本次删除的元素:',x) arr.remove(x) print('当前列表内容: ',arr) print('########in loop ########') print('----- out loop ------') print(arr)
结果如下:
本次删除的元素: 0 当前列表内容: [1, 2, 3, 4] ########in loop ######## 本次删除的元素: 2 当前列表内容: [1, 3, 4] ########in loop ######## 本次删除的元素: 4 当前列表内容: [1, 3] ########in loop ######## ----- out loop ------ [1, 3]
当第一个下标为0的元素被删除后,后续元素依次补上来,原本下标为1的变为0。不过下一次循环对应的是下标为1的元素,这样新的下标为0的元素就被"跳"过了。
总结来说,对列表for循环时,并不是动态的根据列表实际元素挨个遍历的,而是按照列表初始的长度根据下标next下去的。
类似这样吧:
int c=len(list) for(i=0; i<c; i++){ list(i); }
另外,可能是因为字典和集合是无序的,不支持在循环的时候删除其中的元素:
RuntimeError: dictionary changed size during iteration
RuntimeError: Set changed size during iteration
这篇关于python列表循环中删除元素的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python