为什么我列表最后一项没有遍历到呢?,列表,为何遍历a只遍历3次?智
为什么我列表最后一项没有遍历到呢?,列表,为何遍历a只遍历3次?智
为何遍历a只遍历3次?智商不够了,list里最后一个为何没遍历到?智商不够了。。。
a = ["asd_1","asd_2","3","4"]b = afor i in a: print(i) if i.find('asd_') < 0: b.remove(i)
输出:
asd_1
asd_2
3
因为列表上可变对象啊,a和b其实只想的是同一个地址,在b上面remove会影响a的迭代,不信你把a打印出来看
a = ["asd_1", "asd_2", "3", "4"]b = afor i in a: print(i) if i.find('asd_') < 0: b.remove(i)print a
输出:
asd_1asd_23['asd_1', 'asd_2', '4']
这时a的长度已经变成3了
上面的代码,b只是a的引用,你修改了b,a也被修改了,直接影响了a的迭代.
你可以试试
b = a.copy()
或者
b = a[:]
编橙之家文章,
相关内容
- Python语言中有没有rsync库,Python语言rsync库,请问python有
- 参考书中python2中的builtwith模块操作,返回HTTP Error 414:,
- Python异常处理应该由谁来做,Python异常处理,想问一个普
- Python源码中三引号作用是什么,python源码引号作用,pr
- Pthon脚本运行慢如何优化,pthon脚本优化,请大神们分析
- Python Django方法数据获取问题求助,pythondjango,Django中E
- Python2.7 module object has no attribute socket是什么问题,pyth
- Mac Python文件夹2.7删除后用pip安装Django出错,如何调整,
- 求Python3.3比较距离完成对应点对匹配改进方法,python
- 想用pyhton语言完成编写toml文件求个思路或是方法,,请
评论关闭