[Python-ideas] Possible method of distinguishing between set-literals, dict-literals, and odict-literals

Ron Adam rrr at ronadam.com
Tue Jun 16 16:27:46 CEST 2009



Ben Finney wrote:
> Carl Johnson
> <cmjohnson.mailinglist at gmail.com> writes:
> 
>> we could introduce an empty set-literal and an odict-literal, and add
>> a more explicit form to replace the existing set literal.
> 
> What do you mean by “more explicit”? The existing set literal syntax
> is quite explicit.
> 
>> s{} could be the empty set, o{} could be an empty odict, and we could
>> leave {} alone as the form for dicts. So, an odict literal would look
>> like o{'a':'1', 'b':'2', 'c':'3'} instead of OrderedDict([('a', '1'),
>> ('b', '2'), ('c', '3')]). And the set {'a', 'c', 'b'} could
>> (optionally?) have a little s{'a', 'c', 'b'} to make it more explicit
>> that this is a set, not a dict.
> 
> I don't think that word “explicit” means what you think it means.

I think Carl is thinking that it is more concise and easier to read.

When you read OrderedDict([('a', '1'),('b', '2'), ('c', '3')]),  your mind 
is parsing  *Ordered Dictionary from list of these three tuples*.

Whebn you read *o{'a':'1', 'b':'2', 'c':'3'}*, your mind does not have the 
extra noise of converting the argument list of the constructor.


I think it really depends on how often ordered dictionaries literals will 
be used weather or not it is worth doing.  It also uses about 30% to 50% 
less keystrokes.

Ron






More information about the Python-ideas mailing list