Алекс Мартелли весит здесь здесь .
Невозможно изменить контейнер (например, dict) при циклическом перемещении по контейнеру. Таким образом, del d[f(k)]
может быть небезопасным. Как вы знаете, обходным путем является использование d.items()
(для перебора независимой копии контейнера) вместо d.iteritems()
(который использует один и тот же базовый контейнер).
Вполне можно изменить значение в существующем индексе dict, но вставка значений в новые индексы (например, d[g(k)]=v
) может не работать.