]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Make the iter_except() recipe more compact. (gh-116132)
authorRaymond Hettinger <rhettinger@users.noreply.github.com>
Thu, 29 Feb 2024 17:30:18 +0000 (11:30 -0600)
committerGitHub <noreply@github.com>
Thu, 29 Feb 2024 17:30:18 +0000 (11:30 -0600)
Only one example is needed

Doc/library/itertools.rst

index c26f6c89b4920a1f398086107e4b94edf035cbb5..072fe024227ad2936bac06ee7795f0707bad6e24 100644 (file)
@@ -983,28 +983,10 @@ which incur interpreter overhead.
        """ Call a function repeatedly until an exception is raised.
 
        Converts a call-until-exception interface to an iterator interface.
-       Like builtins.iter(func, sentinel) but uses an exception instead
-       of a sentinel to end the loop.
-
-       Priority queue iterator:
-           iter_except(functools.partial(heappop, h), IndexError)
-
-       Non-blocking dictionary iterator:
-           iter_except(d.popitem, KeyError)
-
-       Non-blocking deque iterator:
-           iter_except(d.popleft, IndexError)
-
-       Non-blocking iterator over a producer Queue:
-           iter_except(q.get_nowait, Queue.Empty)
-
-       Non-blocking set iterator:
-           iter_except(s.pop, KeyError)
-
        """
+       # iter_except(d.popitem, KeyError) --> non-blocking dictionary iterator
        try:
            if first is not None:
-               # For database APIs needing an initial call to db.first()
                yield first()
            while True:
                yield func()
@@ -1012,7 +994,6 @@ which incur interpreter overhead.
            pass
 
 
-
 The following recipes have a more mathematical flavor:
 
 .. testcode::