
April 15, 2016
9:07 p.m.
On Fri, Apr 15, 2016, at 16:41, Victor Stinner wrote:
If the dictionary values are modified during the loop, the dict version is increased. But it's allowed to modify values when you iterate on *keys*.
Why is iterating over items different from iterating over keys? in other words, why do I have to write: for k in dict: v = dict[k] ...do some stuff... dict[k] = something rather than for k, v in dict.items(): ...do some stuff... dict[k] = something It's not clear why the latter is something you want to prevent.