python五之for删除陷阱
来源:互联网 发布:dnf一直网络中断 编辑:程序博客网 时间:2024/06/05 11:23
最近模仿原样改善的一个python写的飞机大战游戏,里面有一部分要删除已出局的子弹,当写到这里时,想起了一个扩展的知识点,就在在循环中删除元素时是有坑的。例如:
a=[11,22,33,44,55,66,77]
我们执行一个循环 :
for i in a:
printf(i)
if i==33 or i==44:
a.remove(i)
当我们执行到a列表的第三个元素时,即i==33时,33被删除。
然后列表中会少了一个一个元素,空出一个位置,44以及后面元素将依次补上去,最后那个位置空出,即没有了,此时i继续循环,循环到下一个位置,即a列表的第四个位置,即i==55,此时我们发现44被遗漏了。所以这个就是我们说的循环中删除元素是有坑的,即漏删,因此循环中不能随便删除。
如若我们想在执行一次删除操作的时候改变这个bug,那么我们可以将我们选择出的要删除的元素存储起来,然后进行删除,如:
for i in a:
if i==33 or i==44:
b.append(i)
for i in b:
a.remove(i)
此时,便可以正常的删除了。
新手小白,欢迎指教。
阅读全文
0 0
- python五之for删除陷阱
- python循环删除的陷阱
- java中for循环删除集合陷阱
- python的for i in list 陷阱
- Python基础篇之List五.(删除元素)
- Python list 边查询便删除的陷阱
- python陷阱
- Python陷阱
- Python之旅 五
- 五.Python之切片
- Java陷阱(五)
- for循环之删除注意
- Python之for循环
- 《Python for kids》学习笔记(五)
- for循环陷阱
- Python陷阱之 is 和 == 区别
- python练习册之五
- 五、python笔记之数据类型
- 基本数据类型分析
- TOPGP5.3:导入jar包并在4GL中引用
- android自定义控件之三角绕圆环旋转 +改变速度+改变颜色
- hdu 4734 数位dp #2
- 三 、C++输入不确定长度的字符串&&元素个数
- python五之for删除陷阱
- Linux学习中遇到的命令积累
- python学习(5)
- 杭电多校联赛2017年总结
- 使用Tomcat数据源
- java常问题整理,慢慢更
- MFC 连接Oracle 数据库
- WOJ1152-Feli的糖果
- 1299 Polar Explorer