Eliminar de una lista mientras itera sobre ella
El siguiente código:
a = list(range(10))
remove = False
for b in a:
if remove:
a.remove(b)
remove = not remove
print(a)
Outputs[0, 2, 3, 5, 6, 8, 9]
, en lugar de[0, 2, 4, 6, 8]
cuando se usa Python 3.2.
enga en cuenta que no estoy buscando evitar el comportamiento, sino entenderlo.