[Python-3000] Default dict iterator should have been iteritems() (original) (raw)
Terry Reedy tjreedy at udel.edu
Tue Sep 4 21🔞59 CEST 2007
- Previous message: [Python-3000] Default dict iterator should have been iteritems()
- Next message: [Python-3000] Confused about getattr() and special methods
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"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.
tjr
- Previous message: [Python-3000] Default dict iterator should have been iteritems()
- Next message: [Python-3000] Confused about getattr() and special methods
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]