Операции над множествами с использованием методов и встроенных функций

Определим два множества a и b

 >>> a = {1, 2, 2, 3, 4}
>>> b = {3, 3, 4, 4, 5} 
 >>> a.intersection(b)
{3, 4} 

союз

a.union(b) возвращает новый набор с элементами , присутствующими в любом a и b

 >>> a.union(b)
{1, 2, 3, 4, 5} 

разница

a.difference(b) возвращает новый набор с элементами , присутствующими в , но не в a b

 >>> a.difference(b)
{1, 2}
>>> b.difference(a)
{5} 

Симметричная разница

a.symmetric_difference(b) возвращает новый набор с элементами , присутствующими в любом a или b , но не в обеих

 >>> a.symmetric_difference(b)
{1, 2, 5}
>>> b.symmetric_difference(a)
{1, 2, 5} 

Примечание: a.symmetric_difference(b) == b.symmetric_difference(a)

Подмножество и суперсет

c.issubset(a) проверяет , соответствует ли каждый элемент c в . a

a.issuperset(c) проверяет , является ли каждый элемент c находится в . a

 >>> c = {1, 2}
>>> c.issubset(a)
True
>>> a.issuperset(c)
True 

Последние операции имеют эквивалентные операторы, как показано ниже:

метод оператор a.intersection(b) a & b a.union(b) | b a.difference(b) a - b a.symmetric_difference(b) a ^ b a.issubset(b) a <= b a.issuperset(b) a >= b

Несвязные множества

Наборы и a d не пересекаются , если ни один элемент в не находится также в a d , и наоборот.

 >>> d = {5, 6}
>>> a.isdisjoint(b) # {2, 3, 4} are in both sets
False
>>> a.isdisjoint(d)
True

# This is an equivalent check, but less efficient
>>> len(a & d) == 0
True

# This is even less efficient
>>> a & d == set()
True 

Тестирование членства

Встроенный in поисках ключевых слов для появлений

 >>> 1 in a
True
>>> 6 in a
False 

длина

Встроенный len() функция возвращает количество элементов в наборе

 >>> len(a)
4
>>> len(b)
3