Python Dictionary : A Comprehensive Tutorial

Python Dictionary
Rashid Khan Avatar


In Python, a dictionary is a mutable, unordered collection of key-value pairs. Each key is unique and immutable, and it maps to a corresponding value. Dictionaries are enclosed in curly braces {}, and each key-value pair is separated by a colon.

Key Characteristics

Mutable: Dictionaries can be modified after creation. You can add, update, or remove key-value pairs.

Unordered: Unlike lists, dictionaries are unordered collections, meaning that the order of elements is not guaranteed.

Keys are Unique: Each key in a dictionary must be unique. If you attempt to add a duplicate key, the existing value will be overwritten.

Keys are Immutable: Dictionary keys must be immutable objects, such as strings, numbers, or tuples.

Values Can Be Mutable: Dictionary values can be of any data type and can be mutable or immutable.

You can also read about Python Module

1. Creating Dictionaries:

Dictionaries in Python are created using curly braces `{}` and consist of key-value pairs separated by commas.


# Creating dictionaries

empty_dict = {}

student = {‘name’: ‘John’, ‘age’: 25, ‘grade’: ‘A’}


2. Accessing Elements:

Dictionary elements are accessed using keys, similar to how elements in a list are accessed using indices.


student = {‘name’: ‘John’, ‘age’: 25, ‘grade’: ‘A’}

# Accessing elements using keys

print(student[‘name’])  # Output: John

print(student[‘age’])   # Output: 25


3. Dictionary Operations:

Adding or Updating Elements:

New elements can be added to a dictionary, or existing elements can be updated by assigning values to their keys.


student = {‘name’: ‘John’, ‘age’: 25}

# Adding a new key-value pair

student[‘grade’] = ‘A’

# Updating an existing value

student[‘age’] = 26


– Removing Elements:

Elements can be removed from a dictionary using the `del` keyword or the `pop()` method.


student = {‘name’: ‘John’, ‘age’: 25, ‘grade’: ‘A’}

# Removing a key-value pair

del student[‘grade’]

# Removing and returning the value of a specific key

age = student.pop(‘age’)


Membership Testing:

You can check if a key exists in a dictionary using membership testing.


student = {‘name’: ‘John’, ‘age’: 25}

print(‘age’ in student)  # Output: True

print(‘grade’ in student)  # Output: False


4. Dictionary Methods:

 `keys()`, `values()`, and `items()`:

These methods return views of the dictionary’s keys, values, and key-value pairs, respectively.


student = {‘name’: ‘John’, ‘age’: 25}

# Getting keys

print(student.keys())  # Output: dict_keys([‘name’, ‘age’])

# Getting values

print(student.values())  # Output: dict_values([‘John’, 25])

# Getting key-value pairs

print(student.items())  # Output: dict_items([(‘name’, ‘John’), (‘age’, 25)])



This method returns the value associated with a specified key. If the key does not exist, it returns a default value (or `None`).


student = {‘name’: ‘John’, ‘age’: 25}

# Getting the value for the ‘grade’ key

grade = student.get(‘grade’, ‘Not available’)


You may also want to read about Python Control Statements

Use Cases of Dictionary

  1. Data Storage: Dictionaries are commonly used to store and retrieve data based on key-value pairs.
  1. Configuration Settings: Dictionaries can be used to store configuration settings for applications, where each setting is identified by a unique key.
  1. Mapping Relationships: Dictionaries are ideal for representing mappings between entities, such as mapping student names to their grades.
  1. JSON Serialization: Dictionaries closely resemble JSON objects and are often used to represent data that needs to be serialized/deserialized.
  1. Counting and Frequency Analysis: Dictionaries are useful for counting occurrences of elements in a dataset and performing frequency analysis.


Grasping the intricacies of dictionaries and their associated methods grants you the ability to effectively oversee and modify key-value data structures within Python, enhancing your programming capabilities. With this knowledge, you gain proficiency in organizing and accessing data in a manner that optimizes efficiency and flexibility.

Whether you’re retrieving specific values or updating existing entries, the versatility of dictionaries empowers you to tackle a wide array of programming tasks with precision and ease, making them an indispensable tool in your Python repertoire.

Frequently Asked Questions (FAQs)

What is a dictionary in Python?

In Python, dictionaries represent mutable data structures facilitating the storage of key-value pairs. You can instantiate a dictionary using the dict() constructor or curly braces {}. After creation, dictionaries enable the addition, removal, or updating of elements through methods such as dict.update(), dict.pop(), and dict.

The Python `dict()` function generates a dictionary.

Apart from its primary role in defining words, a dictionary may also furnish details regarding their pronunciation, grammatical variations, etymologies, syntactic nuances, alternative spellings, and antonyms.

Tagged in :

More Articles & Posts


We will help you achieve your goal. Just fill in your details, and we'll reach out to provide guidance and support.