Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #105002

Re: empty clause of for loops

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>

Show all headers | View raw


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 | NextNext in thread | Find similar | Unroll thread


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