Facebook Page Twitter Page LinkedIn Page
× Python Tutorial Python Advanced Python Resources Python Libraries


A Dictionary is a type of data container in Python which is used to store multiple data in one variable. It contains data in key-value pair and can contain elements of different data types. Elements in a dictionary are unordered and hence it is not possible to access dictionary's element using index number. Dictionary's elements are immutable and hence not changeable. Additionally, it does not allow multiple elements with same values (no duplicate elements.)

Create Dictionary

A dictionary can be created by separating it's elements by comma (,) and enclosing with curly bracket { }. Additionally, it can also be created using dict() function.

#Dictionary with multiple datatypes
Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
print(Info)

#Creating dictionary with constructor
Info = dict(name="Marry", age=20, city="Newyork")
print(Info)

The output of the above code will be:

{'name': 'John', 'age': 25, 'city': 'London'}
{'name': 'Marry', 'age': 20, 'city': 'Newyork'}

Access element of a Dictionary

An element of a dictionary can be accessed using key enclosed by square brackets [ ]. The same can also be achieved using get() method.

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
print(Info["city"])
print(Info.get("name"))

The above code will give the following output:

London
John

Modify values in Dictionary

To modify value, assign new value using key.

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
Info["city"] = "Paris"
print(Info)

The above code will give the following output:

{'name': 'John', 'age': 25, 'city': 'Paris'}

Dictionary Length

The len() function can be used to find out total number of key-value pairs in the dictionary.

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
print(len(Info))

The output of the above code will be:

3

Loop over Dictionary's keys

This method can be used to access dictionary's keys one by one.

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
for x in Info:
  print(x)

The output of the above code will be:

name
age
city

Loop over Dictionary's values

This method can be used to access dictionary's values one by one.

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
#first method
for x in Info:
  print(Info[x])

print()
#second method
for x in Info.values():
  print(x)

Each method gives the same result. The output of the above code will be:

John
25
London

John
25
London

Check a Key in the Dictionary

The in keyword can be used to check whether a specified key is present in the dictionary or not.

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
if "lastname" in Info:
  print("Yes, 'lastname' is a key in the dictionary.")
else:
  print("No, 'lastname' is not a key in the dictionary.")

The above code will give the following output:

No, 'lastname' is not a key in the dictionary.

Add elements in Dictionary

This can be achieved by assigning values to new index key.

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
Info["gender"] = "Male"
print(Info)

The output of the above code will be:

{'name': 'John', 'age': 25, 'city': 'London', 'gender': 'Male'}

Delete elements of a Dictionary

There are number of ways to delete elements from a dictionary:

  • pop() - deletes specified key and it's value of the dictionary.
  • popitem() - deletes last key-value pair of the dictionary. Please note that dictionary is an unordered data container, hence last key-value pair is not defined.
  • clear() - deletes all key-value pairs of the dictionary.
  • del - deletes a key-value pair of a dictionary. can be used to delete the dictionary itself.

The below example describes how to use pop() and popitem() methods of a dictionary.

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
Info.pop("city")
print(Info)

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
Info.popitem()
print(Info)

The above code will give the following output:

{'name': 'John', 'age': 25}
{'age': 25, 'city': 'London'}

The below example describes how to use clear() and del methods of a dictionary.

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
Info.clear()
print(Info)

Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
del Info["city"]
print(Info)
del Info
print(Info)

The above code will give the following output:

{}
{'name': 'John', 'age': 25}

Traceback (most recent call last):
  File "Main.py", line 17, in <module>
    print(Info)
NameError: name 'Info' is not defined

Copy Dictionary

The copy of a dictionary can be created using either + operator or copy() method.

  • = operator: Using dict2 = dict1, a reference of dict1 can be created into dict2. Any change to dict1 will be reflected in dict2 also.
  • copy(): This will create an independent copy of a dictionary.
Info = {
   "name": "John",
   "age": 25,
   "city": "London"
}
Info_1 = Info
Info_2 = Info.copy()

# Info_1 dictionary is a reference of Info
print(Info_1) 
# Info_2 dictionary is a copy of Info   
print(Info_2,"\n")     

#deletes city key from the dictionary
Info.pop("city")  

# displaying result after operation
print(Info_1)   
print(Info_2)     

The output of the above code will be:

{'name': 'John', 'age': 25, 'city': 'London'}
{'name': 'John', 'age': 25, 'city': 'London'}

{'name': 'John', 'age': 25}
{'name': 'John', 'age': 25, 'city': 'London'}




Dictionary Methods & Functions
MethodsDescription
clear() Deletes all elements of the dictionary
copy() Returns a copy of the dictionary
fromkeys() Creates a dictionary with specified keys and values
get() Returns value of the specified key
items() Returns a list of tuples with each key-value pair in tuple
keys() Returns a list of all keys of the dictionary
pop() Removes specified key-value pair of the dictionary
popitem() Removes the last key-value pair of the dictionary
setdefault() Checks specified key in the dictionary. If the key does not exist, it inserts the specified key with specified value
update() Updates the dictionary with the specified key-value pair(s)
values() Returns a list of all values of the dictionary
FunctionsDescription
len() Returns total number of elements in the dictionary
dict() Creates dictionary using an iterable object containing key-value pairs

5