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




-- 
Love means never having to say you're sorry.
                -- Eric Segal, "Love Story"

That's the most ridiculous thing I've ever heard.
                -- Ryan O'Neill, "What's Up Doc?"
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to