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. _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com