"Rob Richardson" <rob.richard...@rad-con.com> writes:

You shouldn't top-post!

> Arnaud,
>
> Wouldn't your first suggestion exit after the first element in iterable?

Yes, after printing that element, which is what the code I quoted did.

> And would your second suggestion throw an exception after normal
> processing of all elements in the interator?

No. It would have the same behaviour as the first one.

> RobR
>
> -----Original Message-----
>
>
> I missed the start of this discussion but there are two simpler ways:
>
> def func(iterable):
>     for x in iterable:
>         print(x)
>         return
>     raise ValueError("... empty iterable")
>
> Or using 3.x's next's optional second argument:
>
> _nonext=object()
> def func(iterable):
>     x = next(iter(iterable), _nonext)
>     if x is _nonext:
>         raise ValueError("... empty iterable")
>     print(x)
>
> -- 
> Arnaud

-- 
Arnaud
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to