Open In App

Python Add Dictionary Key

Last Updated : 08 Dec, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

In Python, dictionaries are unordered collections of key-value pairs. Each item in a dictionary is accessed by its unique key, which allows for efficient storage and retrieval of data. While dictionaries are commonly used with existing keys, adding a new key is an essential operation when working with dynamic data. In this article, we’ll explore the different ways to add keys to a dictionary in Python.

Adding New Key Using Direct Assignment

The simplest way to add a key to a dictionary is through direct assignment. When you assign a value to a new key that doesn't already exist in the dictionary, Python will automatically add the key-value pair.

Python
d = {1: 10, 2: 20, 3: 30}
d[4] = 40  # Add a new key 4 with value 40
print(d)  

Output
{1: 10, 2: 20, 3: 30, 4: 40}

In this example, key 4 is added to the dictionary with a value of 40. If the key 4 already existed, its value would be updated.

Let's explore other methods adding keys to dictionary:

Adding Multiple Keys Using update() Method

If you want to add multiple keys at once or update existing ones, the update() method is the best approach. It allows you to add one or more key-value pairs to the dictionary. If a key already exists, its value is updated; otherwise, a new key-value pair is added.

Python
d = {1: 10, 2: 20, 3: 30}
d.update({4: 40, 5: 50})  # Add multiple keys
print(d)  

Output
{1: 10, 2: 20, 3: 30, 4: 40, 5: 50}

In this example, keys 4 and 5 are added with their respective values, 40 and 50. If any of these keys already existed, their values would have been updated.

Using Dictionary Comprehension to Add Keys

Dictionary comprehension is a concise and flexible way to add keys to a dictionary, especially when you need to create or modify keys based on specific conditions or transformations.

Python
d1 = {1: 10, 2: 20, 3: 30}
# Add new keys where the key is greater than 2
d2 = {k: v * 2 for k, v in d1.items() if k > 2}
print(d2) 

Output
{3: 60}

Here, dictionary comprehension is used to add a new key 3 with a doubled value.

Using setdefault() Method to Add a Key

The setdefault() method is a useful function for adding a key only if it does not already exist. If the key exists, setdefault() simply returns the value. If the key does not exist, it adds the key with the specified default value.

Python
d = {1: 10, 2: 20, 3: 30}
d.setdefault(4, 40)  # Adds key 4 with value 40 if it doesn't exist
print(d)  

# If the key exists, it will not be added again
d.setdefault(4, 45)  # Doesn't update key 4
print(d)  

Output
{1: 10, 2: 20, 3: 30, 4: 40}
{1: 10, 2: 20, 3: 30, 4: 40}

Here, the setdefault() method adds the key 4 with value 40 if it doesn’t already exist. The second call does not modify the value of key 4 because it already exists.

Adding Keys from Iterable Using update() Method

The update() method also works if you have an iterable containing key-value pairs. This allows you to dynamically add multiple keys to a dictionary.

Python
d = {1: 10, 2: 20, 3: 30}
a = [(4, 40), (5, 50)]  # List of key-value pairs
d.update(a)  # Adds items from the iterable
print(d)  # Output: {1: 10, 2: 20, 3: 30, 4: 40, 5: 50}

Output
{1: 10, 2: 20, 3: 30, 4: 40, 5: 50}

In this case, the update() method adds the key-value pairs from the list a to the dictionary.

Adding Keys Dynamically with a Loop

You can also add keys to a dictionary using a loop, especially if you need to add a series of keys based on certain conditions or computations.

Python
d = {1: 10, 2: 20, 3: 30}
for i in range(4, 6):  # Add keys dynamically
    d[i] = i * 10  # Assign a value based on the key
print(d)  

Output
{1: 10, 2: 20, 3: 30, 4: 40, 5: 50}

In this example, a loop is used to add keys 4 and 5 with dynamically calculated values.


Next Article

Similar Reads