Подтвердить что ты не робот

Напротив set.intersection в python?

В Python вы можете использовать a.intersection(b), чтобы найти элементы, общие для обоих наборов.

Есть ли способ сделать непересекающуюся противоположную версию этого? Элементы, которые не являются общими для a и b; уникальные элементы в a объединены с уникальными элементами в b?

4b9b3361

Ответ 1

Вы ищете симметричную разницу; все элементы, которые появляются только в наборе a или в наборе b, но не оба:

a.symmetric_difference(b)

Из документа set.symmetric_difference():

Возвращает новый набор с элементами в наборе или другом, но не в обоих.

Вы также можете использовать оператор ^, если оба a и b являются наборами:

a ^ b

while set.symmetric_difference() принимает любой итерабель для другого аргумента.

Вывод эквивалентен (a | b) - (a & b), объединение обоих множеств минус пересечение обоих множеств.