Hi all
It would be nice to write a generator in such a way that, in addition to
'yielding' each value, it performs some additional work and then 'returns' a
final result at the end.
From Python 3.3, anything 'returned' becomes the value of the StopIteration
exception, so it is possible, but not pretty.
Instead of -
my_gen = generator()
for item in my_gen():
do_something(item)
[how to get the final result?]
you can write -
my_gen = generator()
while True:
try:
item = next(my_gen())
do_something(item)
except StopIteration as e:
final_result = e.value
Is this the best way to achieve it, or is there a nicer alternative?
Thanks
Frank Millman
--
https://mail.python.org/mailman/listinfo/python-list