[docs] sorted() documentation possible improvement, un-'stable' cases
John White
j0hnwh1t3 at outlook.com
Wed Sep 16 12:16:37 CEST 2015
sorted() documentation states:
"The built-in sorted() function is guaranteed to be stable. A sort is
stable if it guarantees not to change the relative order of elements that
compare equal — this is helpful for sorting in multiple passes (for
example, sort by department, then by salary grade). "
Some people might get the misconception that order will be stable even on different runs of the exact same code.
e.g. the code below:
d = {'a': 0, 'b': 0, 'c': 0, 'd': 1}
print(sorted(d, key=lambda x: d[x]))
# It would print a different order on different runs (assuming PYTHONHASHSEED=random).
For more details see this StackOverflow question.
Perhaps adding the following in the documentation might help:
"It is not guaranteed to be stable on different runs or when the order of the given iterable has changed (even if the iterable is a dict)."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/docs/attachments/20150916/1986d24d/attachment.html>
More information about the docs
mailing list