Open In App

Add Multiple Tuples to a Single Dictionary Key

Last Updated : 23 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Sometimes multiple tuples need to be stored under the same key. For example, if we want to group data points like coordinates or pairs of related values under a specific category, we can achieve this by adding multiple tuples to a single dictionary key. Let's explore several methods to accomplish this.

Using append() with a List

The most efficient approach is to use a list as the value for the dictionary key and append the tuples to it.

Python
# Initialize the dictionary
d = {}

# Tuples to add
tup = [(1, 2), (3, 4), (5, 6)]

# Dictionary key
key = "coordinates"

# Initialize the key with an empty list if it doesn't exist
if key not in d:
    d[key] = []

# Append tuples to the list
for t in tup:
    d[key].append(t)

print(d)

Output
{'coordinates': [(1, 2), (3, 4), (5, 6)]}

Explanation:

  • We check if the key exists in the dictionary; if not, we initialize it with an empty list.
  • Each tuple is appended to the list corresponding to the key.
  • This approach is efficient and easy to implement.

Let's explore some more ways and see how we can add multiple tuples to a single dictionary key.

Using setdefault

setdefaul() method initializes the key with a default value if it doesn’t exist. It simplifies the process of handling dictionary keys.

Python
d = {}

tup = [(1, 2), (3, 4), (5, 6)]

key = "coordinates"

# Use setdefault to initialize the key with an empty list
for t in tup:
    d.setdefault(key, []).append(t)

print(d)

Output
{'coordinates': [(1, 2), (3, 4), (5, 6)]}

Explanation:

  • setdefault() eliminates the need for an explicit check to initialize the key.
  • The tuples are appended directly to the list corresponding to the key.
  • This method is compact and avoids boilerplate code.

Using defaultdict

A defaultdict() from the collections module automatically initializes the key with a default value, such as an empty list.

Python
from collections import defaultdict

d = defaultdict(list)

tup = [(1, 2), (3, 4), (5, 6)]

ey = "coordinates"

# Append tuples to the list
for t in tup:
    d[key].append(t)

print(dict(d))

Output
{'coordinates': [(1, 2), (3, 4), (5, 6)]}

Explanation:

  • A defaultdict() simplifies the process by automatically initializing the key with an empty list.
  • This approach is ideal for scenarios where keys are added dynamically.

Using Manual Initialization

A less efficient method is to manually check and initialize the key before appending tuples.

Python
d = {}

tup = [(1, 2), (3, 4), (5, 6)]

key = "coordinates"

# Check and manually initialize the key
if key in d:
    d[key] += tup
else:
    d[key] = tup

print(d)

Output
{'coordinates': [(1, 2), (3, 4), (5, 6)]}

Explanation:

  • This method requires explicit checks and initialization.
  • While functional, it is less concise compared to other approaches.

Article Tags :
Practice Tags :

Similar Reads