[Python-ideas] iterable.__unpack__ method
rosuav at gmail.com
Sun Feb 24 15:53:25 CET 2013
On Mon, Feb 25, 2013 at 1:44 AM, Tim Chase
<python.list at tim.thechases.com> wrote:
> 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
> to python-list@).
Blargh, it didn't migrate, I just posted to the wrong list courtesy of
a typo. Sorry.
More information about the Python-list