Dictionary : items()
Terry Reedy
tjreedy at udel.edu
Thu Jan 22 02:33:30 EST 2009
koranthala wrote:
> Hi,
> 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
> users.
> Currently what I do is:
>
> class SDict(dict):
> def items(self, sort=None):
> '''Returns list. Difference from basic dict in that it is
> sortable'''
> if not sort:
> return super(SDict, self).items()
> return sorted(self.iteritems(), key=sort)
>
> Usage:
> for a dictionary of strings sorted:
> l = abcd.items(sort=lambda x:(x[1].lower(), x[0]))
>
> 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?
In Python 3, the current .keys() returning a list and .iterkeys()
returning an iterator both disappear and are replaced by .keys()
returning an iterable set-like view of the dict. 'sorted(d.keys())' is
the way to convert the view into a sorted list. So your idea is obsolete.
More information about the Python-list
mailing list