Powiedzmy, że mamy słownik Pythona d
i iterujemy go w ten sposób:
for k,v in d.iteritems():
del d[f(k)] # remove some item
d[g(k)] = v # add a new item
( f
i g
to tylko niektóre transformacje czarnej skrzynki).
Innymi słowy, próbujemy dodawać / usuwać elementy do d
podczas iteracji po nim za pomocą iteritems
.
Czy to dobrze zdefiniowane? Czy mógłbyś podać jakieś odniesienia na poparcie swojej odpowiedzi?
(Jest całkiem oczywiste, jak to naprawić, jeśli jest zepsute, więc nie o to mi chodzi.)