[Python-checkins] GH-100101: Clarify documentation of zip's strict option (GH-100103)

miss-islington webhook-mailer at python.org
Wed Dec 28 16:32:24 EST 2022


https://github.com/python/cpython/commit/ac31120de7824581656de7734cbaa7333d555067
commit: ac31120de7824581656de7734cbaa7333d555067
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-12-28T13:32:19-08:00
summary:

GH-100101: Clarify documentation of zip's strict option (GH-100103)

(cherry picked from commit cf1c09818032df3080c2cd9e7edb5f657213dc83)

Co-authored-by: JustAnotherArchivist <JustAnotherArchivist at users.noreply.github.com>

files:
M Doc/library/functions.rst

diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 304716194d22..c71ebd235cf3 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -1918,14 +1918,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.



More information about the Python-checkins mailing list