I want to build a dictionary in Python. However, all the examples that I see are instantiating a dictionary from a list, etc . ..
How do I create a new empty dictionary in Python?
I want to build a dictionary in Python. However, all the examples that I see are instantiating a dictionary from a list, etc . ..
How do I create a new empty dictionary in Python?
Call dict
with no parameters
new_dict = dict()
or simply write
new_dict = {}
new_dict = dict()
slightly more readable, nonetheless if there is such a big difference in regards to performance... Would go for performance! ;) (For those who are confused about Python and Cphython see: here) –
Lynnettelynnworth {}
over dict()
and 5 times for []
over list()
. –
Oxbridge {}
is faster because it cant be overwritten but dict()
can be so there are some extra checks and lookups –
Tinware Knowing how to write a preset dictionary is useful to know as well:
cmap = {'US':'USA','GB':'Great Britain'}
# Explicitly:
# -----------
def cxlate(country):
try:
ret = cmap[country]
except KeyError:
ret = '?'
return ret
present = 'US' # this one is in the dict
missing = 'RU' # this one is not
print cxlate(present) # == USA
print cxlate(missing) # == ?
# or, much more simply as suggested below:
print cmap.get(present,'?') # == USA
print cmap.get(missing,'?') # == ?
# with country codes, you might prefer to return the original on failure:
print cmap.get(present,present) # == USA
print cmap.get(missing,missing) # == RU
cxlate
makes your answer seem too complicates. I'd just keep the initialization part. (cxlate
itself is too complicated. You could just return cmap.get(country, '?')
.) –
Peregrinate >>> dict(a=2,b=4)
{'a': 2, 'b': 4}
Will add the value in the python dictionary.
d = dict()
or
d = {}
or
import types
d = types.DictType.__new__(types.DictType, (), {})
types.DictType.__new__(types.DictType, (), {})
and just {}
–
Thither So there 2 ways to create a dict :
my_dict = dict()
my_dict = {}
But out of these two options {}
is more efficient than dict()
plus its readable.
CHECK HERE
>>> dict.fromkeys(['a','b','c'],[1,2,3])
{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [1, 2, 3]}
I do not have enough reputation yet to be able comment, so I share this as an answer.
The link shared by @David Wheaton in his comment to the accepted answer is no longer valid as Doug Hellmann has migrated his site (source: https://doughellmann.com/posts/wordpress-to-hugo/).
Here is the updated link about "The Performance Impact of Using dict() Instead of {} in CPython 2.7": https://doughellmann.com/posts/the-performance-impact-of-using-dict-instead-of-in-cpython-2-7-2/
© 2022 - 2024 — McMap. All rights reserved.