从给定列表中删除所有偶数(包括0)并打印出结果列表

时间:2019-04-18 10:47:32

标签: python-3.x list

input_list = [22,456,3465,456,6543,546,345]
for num in input_list:
    if num==0 or num%2==0:
        input_list.remove(num)

能否请您告诉我这段代码是什么问题? 它不会从列表中删除第二个456。

1 个答案:

答案 0 :(得分:0)

代码存在的问题是,您要在迭代列表时删除项目。

因此,当num变为22时,22将被删除,456成为列表中的索引0,在下一次迭代中,for循环将查找索引{ {1}},即1

尝试一下:

3465