如图 我想删除list里面长度为1或2的元素。为什么”P“和”ye“无法被搜寻到?
结果中没有打印 打印出'P'和'ye'
匹配做的有问题吧,大小写注意
直接访问目录的url文件
错误原因,你每删除一个元素,L的长度减一 ,但是在每次循环的时候都会计算L 的长度L,而且 i会自动加一 ,那么有两个连续的可以被删除的数的话,就会跳过第2个,只会删除第一个,由于第二个的数组长度减一,那接下来所有的元素的下表都会减一,而i又加1,也就是会跳过一个
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
直接用filter把不符合条件的元素过滤掉
[x for x in L if len(x) > 2]