[Python-checkins] Docs: Clarify the before_and_after() example (GH-28458)
rhettinger
webhook-mailer at python.org
Sun Sep 19 20:52:35 EDT 2021
https://github.com/python/cpython/commit/fcbf9b176b1190301c760a921601c6488ef8b070
commit: fcbf9b176b1190301c760a921601c6488ef8b070
branch: main
author: Raymond Hettinger <rhettinger at users.noreply.github.com>
committer: rhettinger <rhettinger at users.noreply.github.com>
date: 2021-09-19T19:52:27-05:00
summary:
Docs: Clarify the before_and_after() example (GH-28458)
files:
M Doc/library/itertools.rst
M Lib/test/test_itertools.py
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index ac6b354138b6e..61d8b869711fa 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 db6a98351bbd9..4e1dd0255086b 100644
--- a/Lib/test/test_itertools.py
+++ b/Lib/test/test_itertools.py
@@ -2646,10 +2646,11 @@ def test_permutations_sizeof(self):
>>> 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]))
More information about the Python-checkins
mailing list