Modifying tuple contents with list in Python

When it is required to modify the contents of tuples within a list, the zip() method combined with list comprehension provides an efficient solution.

The zip() method takes iterables, aggregates them element-wise into tuples, and returns an iterator. List comprehension provides a concise way to iterate through lists and perform operations on them.

A list can store heterogeneous values (data of any type like integers, strings, floats, etc.). When working with a list of tuples, you often need to modify specific elements within each tuple using values from another list.

Example

Here's how to modify the second element of each tuple using values from another list ?

my_list_1 = [('Hi', 1), ('there', 2), ('Jane', 3)]
my_list_2 = [45, 67, 21]

print("The first list is:")
print(my_list_1)
print("The second list is:")
print(my_list_2)

my_result = [(i[0], j) for i, j in zip(my_list_1, my_list_2)]

print("The modified list of tuple is:")
print(my_result)
The first list is:
[('Hi', 1), ('there', 2), ('Jane', 3)]
The second list is:
[45, 67, 21]
The modified list of tuple is:
[('Hi', 45), ('there', 67), ('Jane', 21)]

How It Works

The list comprehension [(i[0], j) for i, j in zip(my_list_1, my_list_2)] works as follows:

  • zip(my_list_1, my_list_2) pairs each tuple from the first list with corresponding values from the second list
  • i[0] extracts the first element from each tuple (keeping the string unchanged)
  • j takes the new value from the second list to replace the original second element
  • A new tuple (i[0], j) is created for each pair

Alternative Approach Using enumerate()

You can also modify tuples by index using enumerate() ?

my_list_1 = [('Hi', 1), ('there', 2), ('Jane', 3)]
my_list_2 = [45, 67, 21]

# Using enumerate to access index
my_result = [(item[0], my_list_2[idx]) for idx, item in enumerate(my_list_1)]

print("Modified using enumerate:")
print(my_result)
Modified using enumerate:
[('Hi', 45), ('there', 67), ('Jane', 21)]

Conclusion

Use zip() with list comprehension to efficiently modify tuple contents by combining elements from multiple lists. This approach maintains immutability of tuples while creating new modified versions.

Updated on: 2026-03-25T17:42:46+05:30

297 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements