# set copy() in python

Last Updated : 14 Feb, 2023

The copy() method returns a shallow copy of the set in python. If we use “=” to copy a set to another set, when we modify in the copied set, the changes are also reflected in the original set. So we have to create a shallow copy of the set such that when we modify something in the copied set, changes are not reflected back in the original set. Syntax:

```set_name.copy()

set_name: Name of the set whose copy
we want to generate.```

Parameters:The copy() method for sets doesn’t take any parameters. Return value:The function returns a shallow copy of the original set. Below is the implementation of the above function:

## Python3

 `# Python3 program to demonstrate the use` `# of join() function `   `set1 ``=` `{``1``, ``2``, ``3``, ``4``} `   `# function to copy the set` `set2 ``=` `set1.copy() `   `# prints the copied set` `print``(set2)       `

Output:

`{1, 2, 3, 4} `

Time complexity : O(1),

space complexity: O(n)

Shallow Copy Example :

## Python

 `# Python program to demonstrate that copy ` `# created using set copy is shallow` `first ``=` `{``'g'``, ``'e'``, ``'e'``, ``'k'``, ``'s'``}` `second ``=` `first.copy()`   `# before adding` `print` `'before adding: '` `print` `'first: '``,first` `print` `'second: '``, second `   `# Adding element to second, first does not` `# change.` `second.add(``'f'``)`   `# after adding` `print` `'after adding: '` `print` `'first: '``, first` `print` `'second: '``, second `

Output:

```before adding:
first:  set(['s', 'e', 'k', 'g'])
second:  set(['s', 'e', 'k', 'g'])
first:  set(['s', 'e', 'k', 'g'])
second:  set(['s', 'e', 'k', 'g', 'f'])```

Time complexity : O(1)

space complexity: O(n)

Previous
Next