ok, so how do I return a sorted list without doing it in place

Grant Edwards grante at visi.com
Sat Feb 17 11:21:32 EST 2001

In article <96koqk$gv6$1 at panix2.panix.com>, Aahz Maruch wrote:

>>> I know I can do:
>>> list = dict.keys()
>>> list.sort()
>>> .....
>>> but it is just plain annoying.
>>I agree. This has bitten me on the butt more than once. It also seems
>>somewhat unPythonic. Usually I expect what happens in Python, but that 
>>sort process always strikes me as unexpected.

On many occasions, I would find it quite handy if there was a sequence
method that returned a sorted shallow copy:

 for k in dict.keys().sorted():

>It's unexpected in some respects, but doing it this way causes the
>fewest surprises overall.  At least you rarely get a downstream bug
>this way.

In my mine the used of the adjective "sorted" as a method name conveys the
fact that it doesn't modify the list in place they way the imperative "sort"
does.  YMMV.

Grant Edwards                   grante             Yow!  World War III? No
                                  at               thanks!

More information about the Python-list mailing list