Grokking Python Fundamentals
Ask Author
Back to course home

0% completed

Vote For New Content
Introduction to Dictionary in Python
Table of Contents

Contents are not accessible

Contents are not accessible

Contents are not accessible

Contents are not accessible

Contents are not accessible

Dictionaries in Python are powerful data structures that store data in key-value pairs. Each key is unique and acts as an identifier for its corresponding value, making dictionaries ideal for fast data retrieval without the need for indexing positions.

Unlike lists or tuples, dictionaries are unordered collections, meaning that data is not held in any particular order. This characteristic makes dictionaries optimized for scenarios where items are to be stored and retrieved solely by keys, a common requirement in various applications like data analysis, caching algorithms, and more.

Dictionaries are flexible in that keys can be nearly any immutable data type, typically strings or numbers, and values can be any type of object: numbers, strings, lists, or even other dictionaries.

Define a Dictionary

A dictionary in Python can be created by placing a comma-separated list of key-value pairs within braces {}, with a colon : separating each key from its value.

Image

Example: Defining a Dictionary

In this example, we will create a simple dictionary that maps string keys to corresponding integer values.

Python3
Python3

. . . .

Explanation:

  • student_ages is a dictionary where each key is a student's name and the value is their age. The keys are strings, and the values are integers, demonstrating the ability to use different types as values.
  • The dictionary is printed, showing each key-value pair.

Note on Keys: Dictionary keys must be immutable. This means you can use types like strings, numbers, or tuples as dictionary keys but not lists, dictionaries, or other mutable types.

Access Element from Dictionary

Accessing elements in a dictionary is done by using the keys. You can access a value by referring to its key in square brackets [], or by using the get() method, which provides a way to avoid errors if the key is not found.

Example: Accessing Elements in a Dictionary

In this example, we will access the age of a specific student by their name.

Python3
Python3

. . . .

Explanation:

  • student_ages["Alice"] directly retrieves the age of Alice using her name as the key.
  • student_ages.get("Bob") also retrieves the age of Bob, but using the get() method which is safer in cases where the key might not exist.
  • student_ages.get("Charlie", "Not Found") demonstrates using get() with a default value, providing "Not Found" if the key "Charlie" does not exist in the dictionary.

Update Dictionary

Updating a dictionary can involve changing the value associated with a specific key or adding new key-value pairs. This is straightforward and done directly by assigning a new value to a key or using methods like update().

Example: Updating a Dictionary

In this example, we will update a dictionary by changing an existing value and adding a new key-value pair.

Python3
Python3

. . . .

Explanation:

  • student_ages["Alice"] = 23: Updates the age of Alice to 23. This direct assignment changes the value for the key "Alice" within the dictionary.
  • student_ages["Dave"] = 20: Adds a new student Dave with an age of 20 to the dictionary, demonstrating how new entries are added.

Remove Key-Value Pair from Dictionary

To remove a key-value pair from a dictionary, you can use the pop() method, which removes the key and returns the value, or the del statement if you do not need the removed value.

Example: Removing a Key-Value Pair from a Dictionary

In this example, we will remove a student from the dictionary using both pop() and del.

Python3
Python3

. . . .

Explanation:

  • pop(): This method removes 'Eve' from student_ages and returns her age, which we store in removed_age.
  • del: This statement removes 'Bob' from student_ages without returning the value.

Copy Dictionary

Copying a dictionary is essential when you need to modify a copy without changing the original dictionary. This can be done using the copy() method or the dict() constructor.

Example: Copying a Dictionary

In this example, we will demonstrate how to create a copy of a dictionary.

Python3
Python3

. . . .

Explanation:

  • copy(): Creates a shallow copy of original_dict, allowing modifications to copied_dict without affecting original_dict.

Loop Through the Dictionary

Iterating over a dictionary can be done in several ways: you can loop through the keys, the values, or both (key-value pairs).

Example: Iterating Through a Dictionary

In this example, we will loop through the dictionary to print all key-value pairs.

Python3
Python3

. . . .

Explanation:

  • items(): This method returns key-value pairs, allowing for iteration over both elements simultaneously.

Python Dictionary Operators

While dictionaries in Python do not support operations like concatenation or multiplication as lists do, they are equipped with operators to test for membership. These operators are essential for checking the presence or absence of keys in dictionaries efficiently.

Dictionary Operators

Here's a summary of the operators that can be applied to dictionaries:

OperatorDescriptionExample Usage
inReturns True if the specified key is present in the dictionary.key in dictionary
not inReturns True if the specified key is not present in the dictionary.key not in dictionary
|It takes union of two dictionaries.dict1 | dict2

These operators are particularly useful for conditionally executing code based on the existence of keys in a dictionary.

Example: Using Dictionary Operators

In this detailed example, we'll use the membership test operators to check for the presence and absence of certain keys in a dictionary.

Python3
Python3

. . . .

Explanation:

  • Alice' in membership_dict: This line checks if the key 'Alice' exists within membership_dict. It returns True because 'Alice' is indeed a key in the dictionary.
  • 'Bob' not in membership_dict: This line checks if 'Bob' is not a key in membership_dict. It returns True because there is no entry for 'Bob' in the dictionary.

This use of dictionary operators provides a quick and efficient way to check for the existence of keys, allowing for robust data handling and decision-making processes in your programs. These operators enhance the utility of dictionaries by providing simple syntax for common tasks.

.....

.....

.....

Like the course? Get enrolled and start learning!

Table of Contents

Contents are not accessible

Contents are not accessible

Contents are not accessible

Contents are not accessible

Contents are not accessible