Avatar ·

Comment supprimer une valeur d'un dictionnaire pendant une boucle for

📁 Sujets avancés sur Python, erreur, exemple

De manière inattendue, j'ai rencontré ce problème. Pendant une boucle for sur un dictionnaire, je dois supprimer des entrées, mais quoi que je fasse, une erreur apparaît :

RuntimeError: dictionary changed size during iteration

J'ai même essayé de faire un snapshot du dictionnaire avant l'itération et d'itérer sur la copie tout en supprimant de l'original.

Exemple :

>>> ot={12:'wqe',13:'wqe',14:'wqe',15:'wqe'}>>> ot1=ot>>>