On Mon, Feb 2, 2015 at 1:10 PM, Rob Cliffe <rob.cliffe@btinternet.com> wrote:

On 02/02/2015 11:19, Todd wrote:

On Mon, Feb 2, 2015 at 11:53 AM, Chris Angelico <rosuav@gmail.com> wrote:
On Mon, Feb 2, 2015 at 9:26 PM, Todd <toddrjen@gmail.com> wrote:
> First, it wouldn't be a replacement.  The existing range syntax would still
> exist.
> But the reason it is beneficial is the same reason we have [a, b, c] for
> list, {a:1, b:2, c:3} for dicts, {a, b, c} for sets, and (a, b, c) for
> tuples. 
Well, we have to have *some* syntax for literal lists, dicts etc.
But we already have range, so there is no compelling need to add new syntax.

Why do we need literals at all?  They are just syntactic sugar.  Python went a long time without a set literal.

Having said that, I would have a sneaking admiration for a really concise syntax.
Perhaps if we had "Python without colons", we could write
    for i in 1 : 10
    for i in 1 : 10 : 2

Part of my goal was to avoid any ambiguity with any existing syntax.  Since we do have colons in for loops, I felt that some sort of grouping (either [], {}, or ()) was necessary to avoid ambiguity.