From d507afdc81115b800e3dc72d5e7285453dce8b38 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Wed, 4 Feb 2009 10:52:32 +0000 Subject: [PATCH] Minor doc fixups. --- Doc/library/collections.rst | 2 +- Doc/library/itertools.rst | 6 +++--- Lib/test/test_itertools.py | 9 ++++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst index 5a7c8c1b56b..22f41f9af37 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 78b10c7f878..240baf03488 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 1ba43f7d184..b79f70f2f4b 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