How do I deep copy tuples in Python in pure Python?

In Python, tuples are immutable, which means their content cannot be changed after they are created. However, if you have a tuple containing mutable objects (like lists), you might need to perform a deep copy to ensure that changes to the mutable objects do not affect the original tuple. Here's how to perform a deep copy of tuples in pure Python.

keywords: deep copy, tuples, Python, immutable, mutable objects
description: Learn how to deep copy tuples in Python, especially when they contain mutable objects, with this easy-to-follow guide.
import copy # Original tuple containing a list original_tuple = (1, 2, [3, 4]) # Deep copy the tuple deep_copied_tuple = tuple(copy.deepcopy(item) for item in original_tuple) # Modify the mutable object in the deep copied tuple deep_copied_tuple[2].append(5) print("Original Tuple:", original_tuple) # Output: (1, 2, [3, 4]) print("Deep Copied Tuple:", deep_copied_tuple) # Output: (1, 2, [3, 4, 5])

keywords: deep copy tuples Python immutable mutable objects