From e2e3a535b5f2e130a985fd847559912b8742760d Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Wed, 4 Feb 2009 19:42:15 +0000 Subject: [PATCH] Minor doc fixes. --- Doc/glossary.rst | 2 +- Doc/library/itertools.rst | 6 +++--- Lib/test/test_itertools.py | 9 ++++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Doc/glossary.rst b/Doc/glossary.rst index 9e3cbeb92a3f..a5dd54a2cffb 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -379,7 +379,7 @@ Glossary also :term:`immutable`. named tuple - Any tuple subclass whose indexable elements are also accessible using + Any tuple-like class whose indexable elements are also accessible using named attributes (for example, :func:`time.localtime` returns a tuple-like object where the *year* is accessible either with an index such as ``t[0]`` or with a named attribute like ``t.tm_year``). diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index f0bb251602ef..d14d3d81c7ac 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -229,7 +229,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 @@ -530,8 +530,8 @@ which incur interpreter overhead. return map(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 a675052cd875..4e19e3a0fe47 100644 --- a/Lib/test/test_itertools.py +++ b/Lib/test/test_itertools.py @@ -1220,8 +1220,8 @@ Samuele ... return map(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" @@ -1337,7 +1337,10 @@ perform as purported. [0, 2, 4, 6] >>> nth('abcde', 3) -['d'] +'d' + +>>> nth('abcde', 9) is None +True >>> quantify(range(99), lambda x: x%2==0) 50 -- 2.47.3