set.difference()
Метод difference() возвращает новое множество, состоящее из элементов исходного множества, которых нет ни в одном из переданных. Эквивалент оператора - для множеств, но принимает любые итерируемые объекты в качестве аргументов.
Сигнатура
set.difference(*others)
Параметры
*others— одно или несколько итерируемых (множества, списки, кортежи и т. д.). Если ничего не передано, возвращается копия исходного множества.
Возвращаемое значение
Новое множество (set). Исходное не изменяется.
Примеры использования
Пример 1. Базовая разность двух множеств.
all_pins = {2, 3, 4, 5, 6}
used = {3, 5}
free = all_pins.difference(used)
print(free)
{2, 4, 6}
Пример 2. Разность с несколькими множествами.
a = {1, 2, 3, 4, 5, 6}
b = {2, 4}
c = {5}
print(a.difference(b, c))
{1, 3, 6}
Пример 3. Аргументом может быть список.
tools = {"паяльник", "мультиметр", "осциллограф", "пинцет"}
missing = tools.difference(["паяльник", "пинцет"])
print(missing)
{'мультиметр', 'осциллограф'}
Пример 4. Оператор ``-`` против метода.
a = {1, 2, 3, 4}
b = {3, 4, 5}
print(a - b)
print(a.difference(b))
{1, 2}
{1, 2}
Пример 5. Исходное множество не меняется.
a = {1, 2, 3}
result = a.difference({2})
print("Результат:", result)
print("Исходное: ", a)
Результат: {1, 3}
Исходное: {1, 2, 3}
См. также
set.difference_update() — разность с изменением исходного множества
set.intersection() — пересечение
set.symmetric_difference() — симметрическая разность
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.