# Creating a new dictionary in Python

## The Question :

485 people think this question is useful

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?

702 people think this answer is useful

Call dict with no parameters

new_dict = dict()



or simply write

new_dict = {}



258 people think this answer is useful

You can do this

x = {}
x['a'] = 1



29 people think this answer is useful

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



20 people think this answer is useful
>>> dict(a=2,b=4)
{'a': 2, 'b': 4}



Will add the value in the python dictionary.

18 people think this answer is useful
d = dict()



or

d = {}



or

import types
d = types.DictType.__new__(types.DictType, (), {})



7 people think this answer is useful

So there 2 ways to create a dict :

1. my_dict = dict()

2. my_dict = {}

But out of these two options {} is efficient than dict() plus its readable. CHECK HERE

>>> dict.fromkeys(['a','b','c'],[1,2,3])