On Mon, Feb 2, 2015 at 1:10 PM, Rob Cliffe
On 02/02/2015 11:19, Todd wrote:
On Mon, Feb 2, 2015 at 11:53 AM, Chris Angelico
wrote: On Mon, Feb 2, 2015 at 9:26 PM, Todd
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.