Симметрическая разность двух множеств set1 и set2 — это набор элементов либо в set1, либо в set2, но не в обоих.
Что такое функция set symmetric_difference() в Python?
Python set symmetric_difference() — это встроенный метод, который возвращает новый набор, симметрическую разницу двух множеств. Например, если A = {1,2,3,4,5} и B = {4,5,6,7,8,9} — два множества, то симметрическая разность этих двух множеств — это те элементы, которые присутствует либо в наборе A, либо в наборе B, но не в обоих наборах.

Здесь мы видим, что 4 и 5 присутствуют в обоих наборах, поэтому значения, кроме 4 и 5, являются симметрическими разностями этих наборов, показанными в наборе C.
Синтаксис
|
1 |
A.symmetric_difference(B) |
Здесь А — одно множество, а В — другое множество.
Возвращаемое значение
Этот метод возвращает новый набор, который представляет собой разницу между этими наборами. Кроме того, он возвращает набор, который представляет собой симметрическую разницу между двумя наборами.
Примеры
- См. следующий пример кода.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# app.py # Declaring two sets # Even nums between 2 and 10 set1 = {2, 4, 6, 8, 10} # Multiple of 3 between 1 to 10 set2 = {3, 6, 9} # priting both the sets print("Set1 is: ", set1) print("Set2 is : ", set2) # Now we will find symmetric difference of these two sets print("Symmetric difference of set1 and set2 is: ", set1.symmetric_difference(set2)) |
Выход:
|
1 2 3 |
Set1 is: {2, 4, 6, 8, 10} Set2 is : {9, 3, 6} Symmetric difference of set1 and set2 is: {2, 3, 4, 8, 9, 10} |
Здесь мы видим, что Set1 содержит элементы с четными числами от 1 до 10, а Set 2 включает элементы, кратные 3, от 1 до 10. Итак, мы видим, что 6 — единственное значение, присутствующее в обоих наборах. Итак, по определению, кроме 6, все значения будут симметрической разностью между этими двумя множествами.
- Давайте посмотрим еще один рабочий пример.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# app.py list1 = [11, 21, 31] list2 = [21, 31, 41] list3 = [31, 41, 51] # Convert list to sets set1 = set(list1) set2 = set(list2) # Prints the symmetric difference when # set is passed as a parameter print(set1.symmetric_difference(set2)) # Prints the symmetric difference when list is # passed as a parameter by converting it to a set print(set2.symmetric_difference(list3)) |
Выход:
|
1 2 3 |
python3 app.py {41, 11} {51, 21} |
Мы взяли три списка, преобразовали их в наборы и проверили симметрическую разность.
