谁能解释为什么这行不通以及如何纠正?这是Udemy上的“ 30天Python”中的示例。我已经尝试了很多,但是我只会遇到错误。 谢谢。
list_d = ["Flower", "Pot", 123, "Daisy", 2328924]
list_e = []
for item in list_d:
if isinstance(item, int):
list_e.append(item)
list_d.pop(x)
x+=1
答案 0 :(得分:0)
在遍历列表时,您不应编辑列表。除此之外,您对变量x的使用非常混乱,而且是不正确的。
请参见以下代码:
list_d = ["Flower", "Pot", 123, "Daisy", 2328924]
list_e = []
for item in list_d:
if isinstance(item,int):
list_e.append(item)
for item in list_e:
list_d.remove(item)
print list_e
print list_d
输出:
[123, 2328924]
['Flower', 'Pot', 'Daisy']
注意:这只是对答案的修改,仅可纠正代码中的错误。这样做的方法不止一种,您应该进行探索。