[Python-ideas] Contraction for "for x in range()"

MRAB python at mrabarnett.plus.com
Tue Feb 14 16:41:02 EST 2017


On 2017-02-14 21:09, Zachary Ware wrote:
> On Tue, Feb 14, 2017 at 3:06 PM, Mikhail V <mikhailwas at gmail.com> wrote:
>> I have a small syntax idea.
>> In short, contraction of
>>
>> for x in range(a,b,c) :
>>
>> to
>>
>> for x in a,b,c :
>>
>> I really think there is something cute in it.
>> So like a shortcut for range() which works only in for-in statement.
>> So from syntactical POV, do you find it nice syntax?
>> Visually it seems to me less bulky than range().
>>
>> Example:
>>
>> for x in 0,5 :
>>     print (x)
>>     for y in 0,10,2 :
>>         print (y)
>>         for z in 0, y+8 :
>>             print (z)
>
> This is already valid and useful syntax, and thus a non-starter.
>
>    >>> for x in 0,5 :
>    ...     print (x)
>    ...     for y in 0,10,2 :
>    ...         print (y)
>    ...         for z in 0, y+8 :
>    ...             print (z)
>    ...
>    0
>    0
>    0
>    8
>    10
>    0
>    18
>    2
>    0
>    10
>    5
>    0
>    0
>    8
>    10
>    0
>    18
>    2
>    0
>    10
>
The closest you could get without breaking existing code is [a:b:c]:

for x in [0:5]:
     print(x)
     for y in [0:10:2]:
         print(y)
         for z in [0:y+8]:
             print(z)

What's more, that could be valid outside the 'for' loop too.



More information about the Python-ideas mailing list