c=[2,5,2,3,3,4,8,'a','b','c','d',1.1]
for a in c :
if not isinstance(a,int) and not isinstance(a,float) : #判定 不是整型又不是浮点型时,结果为真,执行下面代码:
c.remove(a)
print(c)
这里运行结果是:[2,5,2,3,3,4,8,'b','d',1.1] ,'b' 和‘d’删除不了。
如过把列表改为:c=[2,5,2,3,3,4,8,'a',2,'b',7,'c',.2'd',1.1]
结果为:[2,5,2,3,3,4,8,2,7,3.2,1.1] ,又没毛病了!
我这里的问题是:为什么每两个字符串后面的那一个删除不了?
remove函数只能删除首个满足条件的数,不如换种方式
c=[2,5,2,3,3,4,8,'a','b','c','d',1.1] c2=[] for t in c: if isinstance(t,float) or isinstance(t,int): c2.append(t) print(c2)
额。。。。不会是编译器或者版本问题吧
大哥 没问题呀