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