python简单的问题,智商不够用了。。。
本文介绍了python简单的问题,智商不够用了。。。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
为何遍历a只遍历3次?智商不够了,list里最后一个为何没遍历到?智商不够了。。。
a = ["asd_1","asd_2","3","4"]
b = a
for 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 = a
for i in a:
print(i)
if i.find('asd_') < 0:
b.remove(i)
print a
输出:
asd_1
asd_2
3
['asd_1', 'asd_2', '4']
这时a的长度已经变成3了
这篇关于python简单的问题,智商不够用了。。。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文