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?
8 Answers
Call dict with no parameters
new_dict = dict() or simply write
new_dict = {} 6You can do this
x = {} x['a'] = 1 0Knowing 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 6>>> 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, (), {}) 2So 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]} 2I 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: ).
Here is the updated link about "The Performance Impact of Using dict() Instead of {} in CPython 2.7":