Supposons que nous ayons un dictionnaire Python d
et nous itérons dessus comme suit :
for k, v in d.iteritems():
del d[f(k)] # remove some item
d[g(k)] = v # add a new item
( f
et g
ne sont que des transformations de boîte noire).
En d'autres termes, nous essayons d'ajouter/supprimer des éléments à d
tout en le parcourant à l'aide de iteritems
.
Est-ce bien défini ? Pourriez-vous fournir des références pour étayer votre réponse ?
Voir aussi <a href="https://stackoverflow.com/questions/11941817">Comment éviter l'erreur "RuntimeError : dictionary changed size during iteration" ? </a>pour la question distincte de savoir comment éviter le problème.