I don't think this will fly - if not for any other reason, it is a very rare patternto take place alongside such important flow-control statements as continue and break
But for your convenience, here is a small wrapper that, along with thewalrus operator, could be used when you need that functionality:```class Repeatable:
def __init__(self, it):
self.it = it
self.repeat_last = False
self.last_item = None
def repeat(self):
self.repeat_last = True
def __iter__(self):
for item in self.it:
while self.repeat_last:
self.repeat_last = False
yield self.last_item
self.last_item = item
yield item
test = 1
for x in (rx:=Repeatable(range(3))):
print(x)
if x == test:
test = -1
rx.repeat()```_______________________________________________On Thu, Jan 26, 2023 at 4:41 PM Thomas Ratzke <thomasratzketr@outlook.de> wrote:Hi all,
i would like to suggest the following Python feature. It naturally
happens that one want's to repeat the current iteration of a for loop
for example after an error happened. For this purpose, I usually set a
flag and put a while loop inside my for loop. A simple "repeat"
statement just like "continue" or "break" would make the code much more
readable.
This is my solution at the moment with A being checked:
for _ in range(n):
flag = True
while flag:
...
if A:
flag = False # go to next iteration
I would suggest the repeat statement in the following sense
for _ in range(n):
...
if not A:
repeat # repeat current iteration
Notice the "not" in the if clause. I am really looking forwars to hear
your opinions.
Best regards
Thomas
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-leave@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/LNER4MH6IT6HBFKFVTUOJ225PTCZSRRC/
Code of Conduct: http://python.org/psf/codeofconduct/
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-leave@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/WWEJQD7IIPNC4FUSPHLXEH7SVN6EVK6H/
Code of Conduct: http://python.org/psf/codeofconduct/