Python:删除列表中的数字
我只是学习python。我这里有一个问题。它是简单的代码,但我不知道为什么结果出乎意料 这是我的密码:Python:删除列表中的数字,python,Python,我只是学习python。我这里有一个问题。它是简单的代码,但我不知道为什么结果出乎意料 这是我的密码: a=[1,2,3,4,6,7,'dd','ss','gg','oo',8] for i in a: for b in range(10): if i==b: a.remove(i) print a 我想删除a中的号码。我希望结果是a=['dd','ss','gg','00'] 但结果是: [2, 4, 7, 'dd', 'ss', 'gg'
a=[1,2,3,4,6,7,'dd','ss','gg','oo',8]
for i in a:
for b in range(10):
if i==b:
a.remove(i)
print a
我想删除a中的号码。我希望结果是a=['dd','ss','gg','00']
但结果是:
[2, 4, 7, 'dd', 'ss', 'gg', 'oo']
我不明白为什么结果是这样
有人能帮我吗?
谢谢大家! 尝试从列表中删除所有整数
a = [x for x in a if not isinstance(x, int)]
永远不要在列表中迭代并从中删除。而是做一个新的列表,添加你想要保留的所有内容。好的,谢谢!我会记住的!你能告诉我为什么结果很奇怪吗?