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 iterationJ'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>>>
C'est un bug dans Python 3.4+: .
En guise de workaround,
Connectez-vous pour laisser une réponse