summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/collections.rst2
-rw-r--r--Doc/library/itertools.rst6
-rw-r--r--Lib/test/test_itertools.py9
3 files changed, 10 insertions, 7 deletions
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 5a7c8c1..22f41f9 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -218,7 +218,7 @@ For example::
.. method:: most_common([n])
Return a list of the *n* most common elements and their counts from the
- most common to the least. If *n* not specified, :func:`most_common`
+ most common to the least. If *n* is not specified, :func:`most_common`
returns *all* elements in the counter. Elements with equal counts are
ordered arbitrarily::
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index 78b10c7..240baf0 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -282,7 +282,7 @@ loops that truncate the stream.
class groupby(object):
# [k for k, g in groupby('AAAABBBCCDAABBB')] --> A B C D A B
- # [(list(g)) for k, g in groupby('AAAABBBCCD')] --> AAAA BBB CC D
+ # [list(g) for k, g in groupby('AAAABBBCCD')] --> AAAA BBB CC D
def __init__(self, iterable, key=None):
if key is None:
key = lambda x: x
@@ -675,8 +675,8 @@ which incur interpreter overhead.
return imap(function, count(start))
def nth(iterable, n):
- "Returns the nth item or empty list"
- return list(islice(iterable, n, n+1))
+ "Returns the nth item or None"
+ return next(islice(iterable, n, None), None)
def quantify(iterable, pred=bool):
"Count how many times the predicate is true"
diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py
index 1ba43f7..b79f70f 100644
--- a/Lib/test/test_itertools.py
+++ b/Lib/test/test_itertools.py
@@ -1352,8 +1352,8 @@ Samuele
... return imap(function, count(start))
>>> def nth(iterable, n):
-... "Returns the nth item or empty list"
-... return list(islice(iterable, n, n+1))
+... "Returns the nth item or None"
+... return next(islice(iterable, n, None), None)
>>> def quantify(iterable, pred=bool):
... "Count how many times the predicate is true"
@@ -1448,7 +1448,10 @@ perform as purported.
[0, 2, 4, 6]
>>> nth('abcde', 3)
-['d']
+'d'
+
+>>> nth('abcde', 9) is None
+True
>>> quantify(xrange(99), lambda x: x%2==0)
50