Avatar ·

Como remover um item de um dicionário durante um loop for

📁 python, erro, exemplo

De repente me deparei com um problema desses. Durante o loop for preciso remover registros do dicionário, mas como fazer isso sem obter o erro:

RuntimeError: dictionary changed size during iteration

Tentei até fazer um snapshot do dicionário antes da iteração e iterar sobre a cópia enquanto removia do original.

>>> ot = {12: 'wqe', 13: 'wqe', 14: 'wqe', 15: 'wqe'}>>> ot1 = ot>>> for i in ot1:... del ot[i]