On Wed, 16 Mar 2016 13:45:53 +0000, Mark Lawrence wrote: > 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? :)
no , i just typed it, while trying to hold a conversation with swmbo :-( apologies to the op if e could not see where i was intending to go with this. -- Tip the world over on its side and everything loose will land in Los Angeles. -- Frank Lloyd Wright -- https://mail.python.org/mailman/listinfo/python-list