[ python-Bugs-1095342 ] Python FAQ: list.sort() out of date
SourceForge.net
noreply at sourceforge.net
Tue Jan 4 00:16:48 CET 2005
Bugs item #1095342, was opened at 2005-01-03 23:16
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1095342&group_id=5470
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Tim Delaney (tcdelaney)
Assigned to: Nobody/Anonymous (nobody)
Summary: Python FAQ: list.sort() out of date
Initial Comment:
http://www.python.org/doc/faq/general.html#why-
doesn-t-list-sort-return-the-sorted-list
specifies the idiom:
keys = dict.keys()
keys.sort()
for key in keys:
...do whatever with dict[key]...
and doesn't mention sorted().
I would suggest the following wording be used:
In situations where performance matters, making a copy
of the list just to sort it would be wasteful. Therefore,
list.sort() sorts the list in place. In order to remind you
of that fact, it does not return the sorted list. This way,
you won't be fooled into accidentally overwriting a list
when you need a sorted copy but also need to keep the
unsorted version around.
In Python 2.4 a new builtin - sorted() - has been added.
This function creates a new list from the passed
iterable, sorts it and returns it.
As a result, here's the idiom to iterate over the keys of a
dictionary in sorted order:
for key in sorted(dict.iterkeys()):
...do whatever with dict[key]...
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1095342&group_id=5470
More information about the Python-bugs-list
mailing list