summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorJustAnotherArchivist <JustAnotherArchivist@users.noreply.github.com>2022-12-28 21:24:50 (GMT)
committerGitHub <noreply@github.com>2022-12-28 21:24:50 (GMT)
commitcf1c09818032df3080c2cd9e7edb5f657213dc83 (patch)
treeca858add52ef58de5bd06e3499891a6ff25eb722 /Doc
parentc4c5790120beabed83ce5855f18d209ab8324434 (diff)
downloadcpython-cf1c09818032df3080c2cd9e7edb5f657213dc83.zip
cpython-cf1c09818032df3080c2cd9e7edb5f657213dc83.tar.gz
cpython-cf1c09818032df3080c2cd9e7edb5f657213dc83.tar.bz2
GH-100101: Clarify documentation of zip's strict option (GH-100103)
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/functions.rst18
1 files changed, 14 insertions, 4 deletions
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 2e98825..f00a072 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -1923,14 +1923,24 @@ are always available. They are listed here in alphabetical order.
>>> list(zip(('a', 'b', 'c'), (1, 2, 3), strict=True))
[('a', 1), ('b', 2), ('c', 3)]
- Unlike the default behavior, it checks that the lengths of iterables are
- identical, raising a :exc:`ValueError` if they aren't:
-
- >>> list(zip(range(3), ['fee', 'fi', 'fo', 'fum'], strict=True))
+ Unlike the default behavior, it raises a :exc:`ValueError` if one iterable
+ is exhausted before the others:
+
+ >>> for item in zip(range(3), ['fee', 'fi', 'fo', 'fum'], strict=True): # doctest: +SKIP
+ ... print(item)
+ ...
+ (0, 'fee')
+ (1, 'fi')
+ (2, 'fo')
Traceback (most recent call last):
...
ValueError: zip() argument 2 is longer than argument 1
+ ..
+ This doctest is disabled because doctest does not support capturing
+ output and exceptions in the same code unit.
+ https://github.com/python/cpython/issues/65382
+
Without the ``strict=True`` argument, any bug that results in iterables of
different lengths will be silenced, possibly manifesting as a hard-to-find
bug in another part of the program.