[Python-ideas] iterable.__unpack__ method
python.list at tim.thechases.com
Sun Feb 24 15:44:53 CET 2013
On 2013-02-25 01:19, Chris Angelico wrote:
> >>> command, subcommand = next(iterargs), next(iterargs)
> >> Err.... is there a language guarantee of the order of evaluation
> >> in a tuple, or is this just a "CPython happens to evaluate
> >> independent expressions left-to-right"? This is totally broken
> >> if the next() calls could be done in either order.
> > It's a language guarantee.
> > http://docs.python.org/2/reference/expressions.html#evaluation-order
> Ah, so it is. My bad, sorry! In that case, sure, this works. It
> still violates DRY though, naming the iterable twice and relying on
> the reader noticing that that means "take two off this one". But
> that's a much weaker concern.
Your DRY/readability concern might then be addressed by writing it as
from itertools import islice
command, subcommand = islice(iterargs, 2)
(sorry if this was already addressed in the python-ideas@ thread,
since I'm not subscribed there and it looks like discussion migrated
More information about the Python-list