Equivalent to: sorted(iterable, key=key)[:n]
"""
+ if key is None:
+ it = izip(iterable, count()) # decorate
+ result = _nsmallest(n, it)
+ return map(itemgetter(0), result) # undecorate
in1, in2 = tee(iterable)
it = izip(imap(key, in1), count(), in2) # decorate
result = _nsmallest(n, it)
Equivalent to: sorted(iterable, key=key, reverse=True)[:n]
"""
+ if key is None:
+ it = izip(iterable, imap(neg, count())) # decorate
+ result = _nlargest(n, it)
+ return map(itemgetter(0), result) # undecorate
in1, in2 = tee(iterable)
it = izip(imap(key, in1), imap(neg, count()), in2) # decorate
result = _nlargest(n, it)
Library
-------
+- Issue 4790: The nsmallest() and nlargest() functions in the heapq module
+ did unnecessary work in the common case where no key function was specified.
+
- Issue #3767: Convert Tk object to string in tkColorChooser.
- Issue #3248: Allow placing ScrolledText in a PanedWindow.