Avatar ·

Cómo eliminar un valor de un diccionario durante un bucle for

📁 python, Error: Análisis de errores (SyntaxError, TypeError, etc.), ejemplo

De repente me encontré con este problema. Durante un bucle for sobre un diccionario, necesito eliminar entradas de él, pero por más que lo intente, aparece un error:

RuntimeError: dictionary changed size during iteration

Incluso intenté hacer una snapshot del diccionario antes de la iteración e iterar sobre el duplicado mientras eliminaba del original.

Ejemplo:

>>> ot={12:'wqe',13:'wqe',14:'wqe',15:'wqe'}>>> ot1=ot>>> for i in ot1:...  del ot[i]... Traceback (most recent call last):  File ""<stdin>