2 gd438499123 gd438499123 于 2016.09.26 18:26 提问

python 2.7 :遍历list 无删除指定元素

如图 我想删除list里面长度为1或2的元素。为什么”P“和”ye“无法被搜寻到?图片说明

结果中没有打印 打印出'P'和'ye'
图片说明

6个回答

feng1790291543
feng1790291543   Ds   Rxr 2016.09.26 18:26

匹配做的有问题吧,大小写注意

zuowei_zhao
zuowei_zhao   2016.09.26 18:32

直接访问目录的url文件

qq_29594393
qq_29594393   Ds   Rxr 2016.09.26 19:12

错误原因,你每删除一个元素,L的长度减一 ,但是在每次循环的时候都会计算L 的长度L,而且 i会自动加一 ,那么有两个连续的可以被删除的数的话,就会跳过第2个,只会删除第一个,由于第二个的数组长度减一,那接下来所有的元素的下表都会减一,而i又加1,也就是会跳过一个

qq_29594393
qq_29594393   Ds   Rxr 2016.09.26 19:19
 L=['of','p','dsgsdg','hgh','dfh','sg','hf']

def delect(L):
    "递归函数"
    for i in L:
        if len(i)==1 or len(i)==2 :
            L.remove(i)
            delect(L)
delect(L)
print L
oyljerry
oyljerry   Ds   Rxr 2016.09.26 21:37

直接用filter把不符合条件的元素过滤掉

qq258641620
qq258641620   2016.09.27 12:42
 [x for x in L if len(x) > 2]
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
python中list用法及遍历删除元素
列表(list)是python的基本数据结构,list中每一个元素都分配一个位置索引,可以通过索引访问元素值,list不要求数据项有相同的数据类型。 list初始化 list由一个方括号加内部由逗号分割出的不同数据项组成,初始化: list1 = [1,2,3] list2 = ['a','b',1,2] list3 = [] list4 = [0]*10 #分配10个值都为0的元素
python中对list遍历的过程中删除元素
记录自己踩过的坑,关于在遍历的过程中删除元素,浪费了我好长时间。 使用Iterator或索引直接遍历,然后进行删除操作会造成list的index溢出和结果错误。这是因为当你删除元素时,游标会进行更新,list的len也会产生变化,导致结果不对。 这里推荐两种在遍历过程中进行删除操作的方法: 1. 复制一个list,然后再源list上做删除操作 2. 采用逆序进行遍历
python list遍历时删除元素的推荐做法
python 还是不要一边遍历,一边删除 用filter不是挺好的吗?
list遍历的时候,删除某个符合条件的元素
来自:http://www.cnblogs.com/pcheng/p/5336903.html JAVA中循环删除list中元素的方法总结   印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区。下面就来讲一讲。。伸手党可直接跳至文末。看总结。。   
python list删除元素是要注意的坑点
python循环删除列表中的元素的时候,输出不符合我们的预期,简单分析了一下原因与解决方案
Python以遍历的方式删除列表元素
参考http://www.cnblogs.com/GODYCA/archive/2013/06/04/3116887.html 以remove的方式删除需要技术!!!通过创建新列表的方式绕路走比较合适
正确在遍历中删除List元素
最近在写代码的时候遇到了遍历时删除List元素的问题,在此写一篇博客记录一下。 一般而言,遍历List元素有以下三种方式: 使用普通for循环遍历 使用增强型for循环遍历 使用iterator遍历
c++中List在遍历时删除节点的方法,带源码
今天在开发的过程中遇到问题,想要遍历一个List中的节点,满足一定条件则删除该节点,但是由于使用的是iterator就会出现错误,最后找到解决方法,并写了一个测试程序,呵呵: // ListTest.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include
python list 遍历删除的正确方法
在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) for i in range(len(num_list)): if num_list[i] == 2: num_list.pop(i) else: print(num_list[i]) pr
Python 技巧(三)—— list 删除一个元素的三种做法
我们以一个字符串为元素类型的 list 为例,进行列表元素的删除:>>> l = ['no surfing', 'flippers']法一:remove(val)>>> l.remove('no surfing') >>> l ['flippers'] (1)remove() 的参数是具体的元素值,而不是索引, (2)如果知道索引,如何使用 remove 删除该索引上的元素值,>>> l.remov