Найти в Дзене
Ты в АйТи

Тип Set (Множества) в Python

Множества не являются ни отображениями, ни последовательностями.

Множества - это неупорядоченные коллекции уникальных неизменяемых объектов.

Множества создаются путем вызова встроенной функции set либо с помощью использования новых литералов и выражений множеств и поддерживают обычные математические операции над множествами.

Рис.1 Создание множеств и математические операции над ними.
Рис.1 Создание множеств и математические операции над ними.

Не обязательно быть математиком, чтобы использовать интересные возможности множеств, например, можно быстро отфильтровать дубликаты в коллекции, можно найти разность коллекций или проверить равенство коллекций не учитывая порядок объектов коллекции...

Рис2. Примеры работы со множествами
Рис2. Примеры работы со множествами

Также множества как и другие типы коллекций поддерживают проверку членства in

Рис3. Пример проверки членства
Рис3. Пример проверки членства

В состав множеств можно включать, только элементы неизменяемых типов: float, int, string, bool... Изменяемые же типы такие как, словари, списки... и сами множества в состав множеств включать нельзя

Чтобы добавить элемент в множество, можно воспользоваться командой .add(). Можно добавить сразу несколько объектов в множество, добавляя один итерируемый объект с помощью метода .update() или с помощью оператора |=

А вот команда для удаления элементов множества и их соотношение с методами добавления элементов.

Рис.4 Методы и операторы для удаления объектов из множества
Рис.4 Методы и операторы для удаления объектов из множества

Также стоит обязательно упомянуть о методах для очистки множества. Вот они:

Рис5. Методы для работы со множествами.
Рис5. Методы для работы со множествами.

Кстати есть и неизменяемые множества frozenset , которые могут быть элементами обычного множества.

Вообще на Хабре есть очень хорошая статья по множествам, в которой кроме множеств рассматриваются еще и графы, примеры работы с ними и их визуализация. Очень занимательная статья и, чтобы не пересказывать её здесь (хотя очень хочется), даю на неё ссылку.

Если статья была вам хоть сколько-нибудь интересна ставим лайк и подписываемся на канал, чтобы не пропустить новые материалы. Спасибо за прочтение.
Помогите автору канала одним из этих способов :) :
Донаты (переводы) с любых карт и yoomoney - https://yoomoney.ru/fundraise/QnZacAJpY9g.230208
Донаты на карту Сбера - 2202 2007 6729 1543
Донаты на Тинькофф - 5536 9137 9511 4657
Донаты на Открытие - 5586 2000 6614 6835
Криптокошельки:
1. Ethereum - 0x73670880Af17F42E6a641f5936E2f3Bc5a4db257
2. Bitcoin - bc1qywt6l80metclksvdzjt370r28zg9gxg5262aum
3. LiteCoin - ltc1qrwedpjt4evqhl42w2z32kks6xwysqvk3g27uqj
4. Zcash - t1YfZNFJ5Q1BQLCbC6Qo3bcueLJ53QLo4Mx

Наука
7 млн интересуются