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

Steven D'Aprano steve at pearwood.info
Thu Nov 15 00:36:24 CET 2012


On 15/11/12 05:54, Mark Adam wrote:

> Merging of two dicts is done with dict.update.   How do you do it on
> initialization?  This doesn't make sense.

Frequently.

my_prefs = dict(default_prefs, setting=True, another_setting=False)


Notice that I'm not merging one dict into another, but merging two dicts
into a third.

(Well, technically, one of the two comes from keyword arguments rather
than an actual dict, but the principle is the same.)

The Python 1.5 alternative was:

my_prefs = {}
my_prefs.update(default_prefs)
my_prefs['setting'] = True
my_prefs['another_setting'] = False


Blah, I'm so glad I don't have to write Python 1.5 code any more. Even
using copy only saves a line:

my_prefs = default_prefs.copy()
my_prefs['setting'] = True
my_prefs['another_setting'] = False




-- 
Steven


More information about the Python-Dev mailing list