用isinstance判定删除列表中某一类型元素时,出现一个奇怪的问题!
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] ,又没毛病了!
我这里的问题是:为什么每两个字符串后面的那一个删除不了?