Допустим, у нас есть словарь Python d, и мы повторяем его так:
for k,v in d.iteritems():
del d[f(k)] # remove some item
d[g(k)] = v # add a new item
( fи gэто просто некоторые преобразования черного ящика.)
Другими словами, мы пытаемся добавлять / удалять элементы в dпроцессе итерации, используя iteritems.
Это хорошо определено? Не могли бы вы привести несколько ссылок в поддержку своего ответа?
(Довольно очевидно, как исправить это, если он сломан, так что это не тот угол, который мне нужен.)