#------------------------------------- МНОЖЕСТВА----------------------

# Множества также схожи с массивами, но есть несколько отличий.
# Во-первых, множества создаются в абсолютно случайном порядке каждый раз.
# Вы можете разместить элементы как вам будет угодно,
# но они все равно будут расположены впоследствии в случайном порядке.
# Во-вторых, множества не могут иметь повторяющихся элементов,
# поэтому все элементы, которые будут одинаковыми не будут выведены повторно.

some_list = [12, 56, 91, 12]
set(some_list)      # Результат: 12, 56, 91

#
# A | B
# A.union(B)
# Возвращает множество, являющееся объединением множеств A и B.
# A |= B
# A.update(B)
# Добавляет в множество A все элементы из множества B.
# A & B
# A.intersection(B)
# Возвращает множество, являющееся пересечением множеств A и B.
# A &= B
# A.intersection_update(B)
# Оставляет в множестве A только те элементы, которые есть в множестве B.
# A - B
# A.difference(B)
# Возвращает разность множеств A и B (элементы, входящие в A, но не входящие в B).
# A -= B
# A.difference_update(B)
# Удаляет из множества A все элементы, входящие в B.
# A ^ B
# A.symmetric_difference(B)
# Возвращает симметрическую разность множеств A и B (элементы, входящие в A или в B, но не в оба из них одновременно).
# A ^= B
# A.symmetric_difference_update(B)
# Записывает в A симметрическую разность множеств A и B.
# A <= B
# A.issubset(B)
# Возвращает true, если A является подмножеством B.
# A >= B
# A.issuperset(B)
# Возвращает true, если B является подмножеством A.
# A < B
# Эквивалентно A <= B and A != B
# A > B
# Эквивалентно A >= B and A != B
