[Python-ideas] Possible method of distinguishing between set-literals, dict-literals, and odict-literals
Ben Finney
ben+python at benfinney.id.au
Wed Jun 17 02:22:33 CEST 2009
MRAB <python at mrabarnett.plus.com> writes:
> [for a literal OrderedDict,] How about ['a':'1', 'b':'2', 'c':'3']?
+1. That's quite good, and has symmetry with existing syntax::
{'fred', 'barney', 4.75} # unordered set
['fred', 'barney', 4.75] # ordered list
{'foo': 10.2, 'bar': 8.19} # unordered dict
['foo': 10.2, 'bar': 8.19] # ordered dict
That looks good to me.
> Ideally we would have [...] for ordered and {...} for unordered, with
> ':' if it's keyed:
>
> [] ordered, value (list)
> [:] ordered, key+value (odict)
> {} unordered, value (set)
> {:} unordered, key+value (dict)
>
> It's too late to change that in Python 3.x, so it would have to be:
>
> [] ordered, value (list)
> [:] ordered, key+value (odict)
> {,} unordered, value (set)
> {} unordered, key+value (dict)
-0. Unlike syntax for creating and populating an instance, I actually
don't think we need to worry about having specific syntax for empty.
Compared to a non-empty container, it's quite a lower burden to simply
have an explicit call to the type constructor to create an empty
container.
--
\ “Probably the toughest time in anyone's life is when you have |
`\ to murder a loved one because they're the devil.” —Emo Philips |
_o__) |
Ben Finney
More information about the Python-ideas
mailing list