Dictionary : items()
steven at REMOVE.THIS.cybersource.com.au
Thu Jan 22 09:35:37 CET 2009
On Wed, 21 Jan 2009 23:02:11 -0800, koranthala wrote:
> Dictionary has the items method which returns the value as a list
> of tuples.
> I was wondering whether it would be a good idea to have an extra
> parameter - sort - to allow the tuples to be sorted as the desire of
> Currently what I do is:
> class SDict(dict):
> def items(self, sort=None):
> '''Returns list. Difference from basic dict in that it is
> if not sort:
> return super(SDict, self).items()
> return sorted(self.iteritems(), key=sort)
> for a dictionary of strings sorted:
> l = abcd.items(sort=lambda x:(x.lower(), x))
That is better written as:
l = sorted(abcd.items(), key=lambda x:(x.lower(), x))
where abcd is *any* kind of mapping with an items() method. It could be a
dict, a defaultdict, ordereddict, binarytree, or anything else the caller
> Now what I wanted was to incorporate this in the basic dictionary
> itself. Not only items(), but the methods similar to it - iteritems etc
> all can also have this parameter.
> Please let me know your views.
> Is this a good enough idea to be added to the next version of Python?
More information about the Python-list