A set is an unordered collection of unique elements in Python. One of the built-in methods provided by Python for manipulating sets is the symmetric_difference()
method. The symmetric_difference()
method returns a new set that contains elements that are in either of the sets but not in both.
Syntax
set1.symmetric_difference(set2)
The symmetric_difference()
method takes one argument, which is the set to compare with. It can also take multiple sets as arguments.
Return Value
The symmetric_difference()
method returns a new set that contains elements that are in either of the sets but not in both.
Examples
Example 1: Using symmetric_difference() method to find the symmetric difference between two sets
Let’s create two sets and use the symmetric_difference()
method to find the symmetric difference between them:
# Create two sets set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} # Find the symmetric difference between the two sets result_set = set1.symmetric_difference(set2) # Print the result set print(result_set)
Output:
{1, 2, 3, 6, 7, 8}
In the above example, we created two sets (set1
and set2
) and used the symmetric_difference()
method to find the symmetric difference between them. The resulting set (result_set
) contains the elements that are in either set1
or set2
, but not in both.
Example 2: Using symmetric_difference() method with multiple sets
We can also use the symmetric_difference()
method with multiple sets:
# Create three sets set1 = {1, 2, 3} set2 = {2, 3, 4} set3 = {3, 4, 5} # Find the symmetric difference between the three sets result_set = set1.symmetric_difference(set2, set3) # Print the result set print(result_set)
Output:
{1, 5}
In the above example, we created three sets (set1
, set2
, and set3
) and used the symmetric_difference()
method to find the symmetric difference between them. The resulting set (result_set
) contains the elements that are in either of the three sets but not in all of them.
Example 3: Using symmetric_difference() method with strings
We can also use the symmetric_difference()
method with strings:
# Create two sets of strings set1 = {'apple', 'banana', 'orange'} set2 = {'banana', 'kiwi', 'pineapple'} # Find the symmetric difference between the two sets result_set = set1.symmetric_difference(set2) # Print the result set print(result_set)
Output:
{'apple', 'kiwi', 'pineapple', 'orange'}
In the above example, we created two sets of strings (set1
and set2
) and used the symmetric_difference()
method to find the symmetric difference between them. The resulting set (result_set
) contains the elements that are in either set1
or set2
, but not in both.
Use Cases
The symmetric_difference()
method can be used in various scenarios where we need to compare two or more sets and find the elements that are unique to each set. Some of the use cases include:
- Comparing two or more lists of items to find the unique items in each list
- Comparing the results of two or more database queries to find the unique records in each query
- Comparing two or more sets of user permissions to find the unique permissions in each set
By using the symmetric_difference()
method, we can easily find the elements that are in either of the sets but not in both, and perform further operations on them as needed.