Множества — это контейнер, эквивалентный множествам в математике. Главной особенностью этой структуры данных является автоматическое удаление повторяющихся значений. Для представления множества используются фигурные скобки, а разделителем выступает запятая.
Множество задается парой способов:
Порой возникает путаница между множеством и словарем из-за одинакового обрамления фигурными скобками. Отличие в том, что в множестве нет кортежных пар ключ-значение, которые имеют связь через двоеточие. В множестве только запятые.
Но общее у них есть — полностью отсутствующий порядок добавления элементов. Если вам нужно отразить в выводе отсортированные значения, воспользуйтесь функцией sorted(), передав скобки множество:
Базовые операции над множествами
add() - метод, добавляющий элемент в множество. Если попытаться добавить уже имеющиеся, то они будут проигнорированы:
remove() - метод, удаляющий элементы из множества. Если удаляемого элемента в множестве нет - будет вызвано исключение KeyError.
discard() - родственный метод удаления данных, но без капризов в тех случаях, когда пытаемся удалить несуществующее:
pop() - Удаление спонтанного элемента в множестве. Удобно, когда надо просто уменьшать массив. KeyError тогда, когда элементов не останется:
clear() - Очистка массива данных. Сама переменная остается (связана с ячейками данных, в которых установлено множество). Всегда есть возможность возвести новые данные :-) :
Расширенные возможности
Редко, но метко выстреливают и другие методы работы с этим массивом данных, а именно пересечение, объединение и разность:
intersection() - функция, отвечающая за нахождение пересечений (совпадений) в указанных множествах. Если их нет, то будет возвращен пустой контейнер данных, он же False.
Букв много в методе, поэтому его частенько заменяют оператором пересечения множеств - &
union() - функция, которая объединяет (складывает) уникальные значения из указанных множеств. Для данного функционала также есть оператор объединения | :
difference() - функция, определяющая разность множеств. Другими словами ей суждено находить то, чего нет в множестве указанном в скобках. Оператором за это дело отвечает знак вычета (минус-тире) - :
symmetric_difference() - метод поиска уникальных элементов между указанными множествами. 22 буквы можно упростить оператором ^
Это не все методы множеств, но я попросту не сталкивался с ними в своей работе, так как это более углубленные знания, которые часто не используются.
Это функции проверки issubset() что одно множество является подмножеством другого.
Метод issuperset() - определяющий, что множество множеств, противоположно подмножеству :-). Даже звучит как ребус.
Надеюсь было занятно - уровень страданий стараний над постом был повышенным.
Ставьте лайки и подписывайтесь на канал!
По теме "работа с контейнерами" другие записи:
Списки, кортежи, словари