From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 20 Sep 2021 01:53:37 +0000 (-0700) Subject: Docs: Clarify the before_and_after() example (GH-28458) (#28464) X-Git-Tag: v3.10.0~26 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0a74d33e14538849216271c3610ea4e301f7370f;p=thirdparty%2FPython%2Fcpython.git Docs: Clarify the before_and_after() example (GH-28458) (#28464) (cherry picked from commit fcbf9b176b1190301c760a921601c6488ef8b070) Co-authored-by: Raymond Hettinger Co-authored-by: Raymond Hettinger --- diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index bf60a0cee795..8341ce321b1b 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -859,10 +859,11 @@ which incur interpreter overhead. """ Variant of takewhile() that allows complete access to the remainder of the iterator. - >>> all_upper, remainder = before_and_after(str.isupper, 'ABCdEfGhI') - >>> str.join('', all_upper) + >>> it = iter('ABCdEfGhI') + >>> all_upper, remainder = before_and_after(str.isupper, it) + >>> ''.join(all_upper) 'ABC' - >>> str.join('', remainder) + >>> ''.join(remainder) # takewhile() would lose the 'd' 'dEfGhI' Note that the first iterator must be fully diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py index 6f8f87684e29..3f4fb4cf0718 100644 --- a/Lib/test/test_itertools.py +++ b/Lib/test/test_itertools.py @@ -2604,10 +2604,11 @@ True >>> list(odds) [1, 3, 5, 7, 9] ->>> all_upper, remainder = before_and_after(str.isupper, 'ABCdEfGhI') ->>> str.join('', all_upper) +>>> it = iter('ABCdEfGhI') +>>> all_upper, remainder = before_and_after(str.isupper, it) +>>> ''.join(all_upper) 'ABC' ->>> str.join('', remainder) +>>> ''.join(remainder) 'dEfGhI' >>> list(powerset([1,2,3]))