Назад к вопросам
Junior
68
questionbank
Что такое множество (set) в Python?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Множество (set) — изменяемая неупорядоченная коллекция уникальных элементов. Элементы должны быть хешируемыми.
Основные характеристики:
- Неупорядоченность: Элементы не хранятся в определенном порядке.
- Уникальность: Дубликаты автоматически удаляются.
- Изменяемость: Можно добавлять и удалять элементы.
- Хешируемость: Элементы должны быть неизменяемыми типами (числа, строки, кортежи).
Примеры создания:
# Создание из списка
my_set = set([1, 2, 3, 1, 4]) # {1, 2, 3, 4}
# Создание с использованием фигурных скобок
another_set = {5, 6, 7, 7} # {5, 6, 7}
# Пустое множество
empty_set = set() # {}
Основные операции:
| Операция | Описание | Пример | Результат |
|---|---|---|---|
add() |
Добавить элемент | s.add(10) |
{1, 2, 3, 4, 10} |
remove() |
Удалить элемент (с ошибкой) | s.remove(2) |
{1, 3, 4} |
discard() |
Удалить элемент (без ошибки) | s.discard(5) |
{1, 2, 3, 4} |
clear() |
Очистить множество | s.clear() |
{} |
union(|) |
Объединение | s1 | s2 |
{1, 2, 3, 4, 5, 6} |
intersection(\&) |
Пересечение | s1 & s2 |
{3, 4} |
difference(\-) |
Разность | s1 - s2 |
{1, 2} |
symmetric_difference(^) |
Симметрическая разность | s1 ^ s2 |
{1, 2, 5, 6} |
issubset(<=) |
Подмножество | s1 <= s2 |
False |
issuperset(>=) |
Супермножество | s1 >= s2 |
True |
Неизменяемое множество (frozenset):
Похоже на set, но после создания изменять нельзя. Элементы frozenset могут использоваться в качестве элементов других множеств или ключей словарей.
my_frozenset = frozenset([1, 2, 3])