Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Python Set copy() method



The Python Set copy() method is used to create a shallow copy of the set. This means that it returns a new set that contains all the elements of the original set but is a distinct object. The elements themselves are not copied which means if the elements are mutable objects then the changes to these objects will be reflected in both the original and copied sets.

Syntax

Following is the syntax and parameters of Python Set copy() method−

original_set.copy()

Parameter

This method does not take any parameters.

Return value

This method returns the copy of the original set.

Example 1

Following is the basic example of the Python Set copy() method which shows copying a simple set of integers −

# Original set
original_set = {1, 2, 3, 4, 5}

# Create a copy of the set
copied_set = original_set.copy()

# Print both sets
print("Original Set:", original_set)  
print("Copied Set:", copied_set)      

# Verify that the sets are distinct objects
print(original_set is copied_set)    

Output

Original Set: {1, 2, 3, 4, 5}
Copied Set: {1, 2, 3, 4, 5}
False

Example 2

In sets the copy() method applies the shallow copy which means the changes in the copy set will not applied to the original set. This example creates a set with a tuple (3, 4) as one of its elements making it hashable. Then a shallow copy of the set is made showing that modifying the copied set does not affect the original set −

# Define a set with a tuple (instead of a list) as an element
original_set = {1, 2, (3, 4), 5}

# Make a shallow copy of the set
copied_set = original_set.copy()

# Print both sets
print("Original Set:", original_set)  # Output: {1, 2, (3, 4), 5}
print("Copied Set:", copied_set)      # Output: {1, 2, (3, 4), 5}

# Verify that the sets are distinct objects
print(original_set is copied_set)     # Output: False

# Modify the tuple inside the copied set (Note: Tuples are immutable)
# This will create a new tuple with modified contents, not affecting the original set
copied_set.remove((3, 4))
copied_set.add((6, 7))

# Print both sets after modification
print("Original Set after modification:", original_set)  # Output: {1, 2, (3, 4), 5}
print("Copied Set after modification:", copied_set)      # Output: {1, 2, (6, 7), 5}

# Verify that modifying the copied set does not affect the original set
print(original_set == copied_set)     # Output: False

Output

Original Set: {1, 2, 5, (3, 4)}
Copied Set: {1, 2, 5, (3, 4)}
False
Original Set after modification: {1, 2, 5, (3, 4)}
Copied Set after modification: {1, 2, 5, (6, 7)}
False

Example 3

This below example highlights that if the elements are mutable and the mutability is shared between the original and copied sets −

# Original set with a mutable object
original_set = {1, 2, 3, (4, 5)}

# Create a copy of the set
copied_set = original_set.copy()

# Verify that the sets are distinct objects
print(original_set is copied_set)     

# Add an element to the copied set
copied_set.add(6)
print("Original Set after adding to copied set:", original_set)  
print("Copied Set after adding to copied set:", copied_set)      

# Remove an element from the copied set
copied_set.remove(2)
print("Original Set after removing from copied set:", original_set)  
print("Copied Set after removing from copied set:", copied_set)      

Output

False
Original Set after adding to copied set: {3, 1, (4, 5), 2}
Copied Set after adding to copied set: {1, 2, 3, 6, (4, 5)}
Original Set after removing from copied set: {3, 1, (4, 5), 2}
Copied Set after removing from copied set: {1, 3, 6, (4, 5)}
python_set_methods.htm
Advertisements