From 010aac7c1a43afd63b4c4019c4f217f1e3a72689 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 29 Feb 2024 18:37:00 +0100 Subject: [3.12] Make the iter_except() recipe more compact. (gh-116132) (gh0116133) --- Doc/library/itertools.rst | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index f265e04..2e6d5ee 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -975,28 +975,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() @@ -1004,7 +986,6 @@ which incur interpreter overhead. pass - The following recipes have a more mathematical flavor: .. testcode:: -- cgit v0.12