[Python-Dev] performance of {} versus dict()

Mark Adam dreamingforward at gmail.com
Wed Nov 14 18:10:15 CET 2012


On Wed, Nov 14, 2012 at 11:00 AM, Brian Curtin <brian at python.org> wrote:
> On Wed, Nov 14, 2012 at 10:12 AM, Mark Adam <dreamingforward at gmail.com> wrote:
>> On Wed, Nov 14, 2012 at 3:12 AM, Chris Withers <chris at simplistix.co.uk> wrote:
>>> Hi All,
>>>
>>> A colleague pointed me at Doug's excellent article here:
>>> ...which made me a little sad, I suspect I'm not the only one who finds:
>>>
>>> a_dict = dict(
>>>     x = 1,
>>>     y = 2,
>>>     z = 3,
>>>     ...
>>>     )
>>>
>>> ...easier to read than:
>>>
>>> a_dict = {
>>>     'x':1,
>>>     'y':2,
>>>     'z':3,
>>>     ...
>>>     }
>>
>> Hey, it makes me a little sad that dict breaks convention by allowing
>> the use of unquoted characters (which everywhere else looks like
>> variable names) just for a silly typing optimization.
>
> What convention and typing optimization is this? I hope you aren't
> suggesting it should be dict("x"=1) or dict("x":1)?

Try the canonical {'x':1}.  Only dict allows the special
initialization above.  Other collections require an iterable.  I'm guessing
**kwargs initialization was only used because it is so simple to
implement, but that's not necessarily a heuristic for good language design.

mark


More information about the Python-Dev mailing list