直接一顿操作,写出了如下代码 for i in list_1: if i not in list_2: list_1.remove(i) print(list_1) 1. 2. 3. 4. 结果输出的结果是 ['夭夭', '渣姐', '秃头企鹅', '王哥', '卷魔'] 1. 为什么会这样?通过debug发现,每删除一个元素,list_1里面的元素下标就会发生变化,而for循环里面是持...
2.解决方法一:alist[1] alist = [1,1,2,2,3,3,2,2,1,1]foriinalist[:]:###ifi ==1: alist.remove(1)print(alist) 运行结果:[ 2, 2, 3, 3, 2, 2] 简析:将for循环中的控制语句改成" for i in alist[:]"后,程序正确实现功能。对于这个很神奇的alist[:],查了好久,都没有找到...
1. 遍历列表 遍历列表通常采用for循环的方式以及for循环和enumerate()函数搭配的方式去实现。 1) for循环方式遍历 这种方式比较简单,前面讲for循环的时候也用到过很多次直接用于遍历,循环执行,看一下代码。 1 2 3 first_list=[1,2,3,4]#先定义一个列表 ...
python之循删list 先来看下循环遍历删除list元素的一段代码: L=[1,3,1,4,3,6,5]#0 1 2 3 4 5 6(下标)foriinL:ifi%2!=0:#%表示除商取余数,除以2余数为0,则表示为偶数,反之为奇数L.remove(i)#若是奇数,则从list中剔除print(L)
del list1[2:3] 1. 2. 3. pop() list1.pop() # 删除最后一个元素 list1.pop(0) 1. 2. remove() , 按照元素值删除, 删除匹配的第一个值。 list1.remove(2) 1. clear() # 清空 list1.clear() 1. 复杂度分析: insert(i, item) O(n) ...
首先,remove(x) 移除的是序列首次碰到的元素x 理解: 遍历列表,item每一次都会变化,可以想象有一个指针指向后一个元素,指针是递增的,从头元素到尾元素直至遍历完。 容易想到指针 0 --> 1 --> 2 --> 3 到第四个元素(dat[3]), dat[3]=='0',dat.remove(item), dat=['1','2','3','0','0'...
remove() 函数会遍历列表中的每一个元素,查看是否有元素与之匹配,匹配到相同的元素才会执行删除,这也就意味着 remove() 函数一次只能删除一个元素。 自己删自己也不行,因为自己并不在自己的元素中 list1 = [1,2,3,4,5]print('我自己在我自己里面吗?', list1inlist1) ...
1. 采用遍历list.copy方式 即将数组copy一个副本,通过副本遍历,但删除操作还在原list中,代码如下: my_list = [1, 2, 4, 6, 8, 9] for item in my_list.copy(): if item % 2 == 0: my_list.remove(item) print(my_list) 执行结果为:[1, 9] ...
for item in num_list[:]: if item == 2: num_list.remove(item) else: print(item) print(num_list) 原始的list是num_list,那么其实,num_list[:]是对原始的num_list的一个拷贝,是一个新的list,所以,我们遍历新的list,而删除原始的list中的元素,则既不会引起索引溢出,最后又能够得到想要的最终结果。