[Python-ideas] iterable.__unpack__ method

Chris Angelico rosuav at gmail.com
Sun Feb 24 09:53:25 EST 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.

ChrisA



More information about the Python-list mailing list