-
или метод difference()
.
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 6}
difference = set1 - set2 # Результат: {1, 2, 5}
Пример с методом difference():
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 6}
difference = set1.difference(set2) # Результат: {1, 2, 5}
Оба способа возвращают новое множество, содержащее элементы, которые есть в первом множестве и отсутствуют во втором.
Для нахождения разности двух множеств в Python существует несколько способов. Разность множеств A и B (A - B) содержит элементы, которые есть в A, но отсутствуют в B.
Способы реализации:
-
(минус):
Это самый простой и читаемый способ. Он возвращает новое множество, содержащее элементы, которые есть в первом множестве, но отсутствуют во втором.
set_a = {1, 2, 3, 4, 5}
set_b = {3, 4, 6, 7}
difference = set_a - set_b
print(difference) # Output: {1, 2, 5}
difference()
:
Этот метод также возвращает новое множество, содержащее разность. Он более гибкий, поскольку может принимать несколько множеств в качестве аргументов.
set_a = {1, 2, 3, 4, 5}
set_b = {3, 4, 6, 7}
difference = set_a.difference(set_b)
print(difference) # Output: {1, 2, 5}
# Разность с несколькими множествами:
set_c = {5, 8}
difference = set_a.difference(set_b, set_c)
print(difference) # Output: {1, 2}
difference_update()
:
Этот метод изменяет исходное множество (в данном случае set_a
), удаляя из него элементы, присутствующие во втором множестве (set_b
). Он не возвращает новое множество, а модифицирует существующее.
set_a = {1, 2, 3, 4, 5}
set_b = {3, 4, 6, 7}
set_a.difference_update(set_b)
print(set_a) # Output: {1, 2, 5}
Важно: difference_update()
изменяет исходное множество. Если вы не хотите изменять исходное множество, используйте оператор -
или метод difference()
.
Выбор метода:
-
или метод difference()
.difference_update()
.-
обычно предпочтительнее difference()
, когда работаете с двумя множествами, так как он более читабелен.