On 16/03/2016 13:25, alister wrote:
On Wed, 16 Mar 2016 11:47:31 +0100, Peter Otten wrote:

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:
     ...

or even use the loop variable as the flag

item=None
for item in items:
        #do stuff
if ex is None:
        #do something else


Did you test this? :)


--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to