python列表的小知识点
看下面的源码,你知道输出结果是什么吗?d =
for i in d:
print(i)
d.remove(i)
print(d)
猜一猜,对初学者而言,很涨知识。 删了135留了24 苏紫方璇 发表于 2024-6-12 13:38
删了135留了24
对的!{:1_921:}
不错不错,一起交流, 一起学习! 135 【24】 set1 =
set2 = set1
for i in set2:
set1.remove(i)
print("i :", i)
print("set1: ", set1)
print("set2: ", set2)
漏斗原理,没循环一次漏一个数,总共漏了两个数 每一次循环的时候,数据d发生了变化
d =
print(d)
for i,v in enumerate(d):
print("打印d里面的第"+str(i)+"位元素")
print(v)
print("删除第"+str(i)+"位元素")
d.remove(v)
print("数组d变成了"+str(d))
print(d) 学习了!!!
我记得在帮助文档里 贵叔 提到过的,不建议这样处理的。 俺一眼看下去,第一印象就最后剩一个空的list,评论看下去...原来如此...程序果然马虎不得~~~~ for...in...是按index走的。
第1个循环后d只剩
但是下一个循环时index从0变成1,i也变成了3。
如果需要删列表中的数据,最好是从尾部向前循环删除。
或者直接新建一列表保存需要的数据。 提醒大家要批量更改数组(列表)数据应该使用 map、filter 等方法,不要直接去修改源数组
页:
[1]