[Python-3000] Default dict iterator should have been iteritems()
tjreedy at udel.edu
Tue Sep 4 21:18:59 CEST 2007
"Noam Raphael" <noamraph at gmail.com> wrote in message
news:b348a0850709040149i6d9d7183ped5d393d492d3824 at mail.gmail.com...
| The reasoning is simple: Iteration over an object usually gets all the
| data it contains. A dict can be seen as an unordered collection of
| tuples (key, value), indexed by key. So, iteration over a dict should
| yield those tuples.
Given that viewpoint, yes. But a dict can also be seen as a set of objects
that happen to have a value attached (like a graph with labelled nodes,
which is still 'made up of' nodes rather than (node,label) pairs). From
this viewpoint, yielding the objects is sensible.
By itself, I think the decision was a toss-up. But consistency with 'in',
which is not a toss-up, tips the balance.
More information about the Python-3000