# set copy() in python

• Difficulty Level : Medium
• Last Updated : 02 Jan, 2018

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 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}
```

Shallow Copy Example :

 `# 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'])