[Python-Dev] issue with itertools leads the crash
Chris Angelico
rosuav at gmail.com
Tue Apr 8 18:50:14 CEST 2014
On Wed, Apr 9, 2014 at 2:40 AM, Eric Snow <ericsnowcurrently at gmail.com> wrote:
> On Apr 8, 2014 10:31 AM, "MRAB" <python at mrabarnett.plus.com> wrote:
>> If the RHS yields too few, e.g. 3, you'll get:
>>
>> ValueError: attempt to assign sequence of size 3 to extended slice of size 4
>>
>> If it yields too many, e.g. 10, you'll get:
>>
>> ValueError: attempt to assign sequence of size 10 to extended slice of size 4
> [snip]
>> The fix would be to complain of raise StopIteration doesn't occur after
>> N+1 yields, where N is the number of values needed by the LHS.
>
> Perhaps N+2 would be better:
>
> raise RuntimeError('{} is right out'.format(n+2))
It would be nice to have a simple notation that fetches what it needs
and ignores any extras.
a, b, c, * = x.split("-")
Bomb if there aren't two hyphens in x, but if there are more, just
take the first three and ignore the rest. Would work with infinite
iterators quite happily.
ChrisA
More information about the Python-Dev
mailing list