Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #105002
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: empty clause of for loops |
| Date | 2016-03-16 11:47 +0100 |
| Organization | None |
| Message-ID | <mailman.189.1458125264.12893.python-list@python.org> (permalink) |
| References | <56E93413.6090108@mail.de> |
Sven R. Kunze wrote:
> Hi,
>
> a colleague of mine (I write this mail because I am on the list) has the
> following issue:
>
>
> for x in my_iterable:
> # do
> empty:
> # do something else
>
>
> What's the most Pythonic way of doing this?
What would you expect?
>>> class Empty(Exception): pass
...
>>> def check_empty(items):
... items = iter(items)
... try:
... yield next(items)
... except StopIteration:
... raise Empty
... yield from items
...
>>> try:
... for item in check_empty("abc"): print(item)
... except Empty: print("oops")
...
a
b
c
>>> try:
... for item in check_empty(""): print(item)
... except Empty: print("oops")
...
oops
I'm kidding, of course. Keep it simple and use a flag like you would in any
other language:
empty = True:
for item in items:
empty = False
...
if empty:
...
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
Re: empty clause of for loops Peter Otten <__peter__@web.de> - 2016-03-16 11:47 +0100
Re: empty clause of for loops alister <alister.ware@ntlworld.com> - 2016-03-16 13:25 +0000
Re: empty clause of for loops Mark Lawrence <breamoreboy@yahoo.co.uk> - 2016-03-16 13:45 +0000
Re: empty clause of for loops alister <alister.ware@ntlworld.com> - 2016-03-16 13:58 +0000
Re: empty clause of for loops "Sven R. Kunze" <srkunze@mail.de> - 2016-03-16 15:36 +0100
Re: empty clause of for loops Peter Otten <__peter__@web.de> - 2016-03-17 09:23 +0100
csiph-web