【发布时间】:2012-05-19 16:32:17
【问题描述】:
代码优先:
li = [32,45,23,66,66,89,27]
print li
for k in li:
if k == 66:
li.remove(k)
print li
结果:
> [32, 45, 23, 66, 66, 89, 27]
> [32, 45, 23, 66, 89, 27]
这是我的问题:当我删除第一个 66 时,第二个和其他项目将向前移动一个索引,下一个 k 将是 89。第二个66还在。如何删除它?
【问题讨论】:
-
您不应该在遍历项目时删除它们,最好使用列表推导来创建具有正确值的新列表。