Программа курса:
Множества в Python: Основные концепции, методы и примеры
.jpg)
Множества (sets) — это неупорядоченные коллекции уникальных элементов. В Python множества являются мощным инструментом для работы с такими коллекциями, где важен факт присутствия элемента, а не его позиция или количество вхождений. В этой лекции мы рассмотрим основные концепции, методы работы с множествами и примеры их использования.
Основные концепции множеств
- Неупорядоченность: Элементы в множестве не имеют определённого порядка, поэтому нельзя обращаться к элементам по индексу.
- Уникальность: Множество содержит только уникальные элементы. Дубликаты автоматически удаляются.
- Изменяемость: Множества изменяемы, то есть можно добавлять и удалять элементы. Исключением является тип "frozenset" — неизменяемый аналог множества.
Создание множеств
Множество можно создать несколькими способами:
С помощью литерала множества:
# Пустое множество создаётся через конструктор set()
empty_set = set()
# Множество с элементами
fruit_set = {"apple", "banana", "cherry"}
print(fruit_set)Выходные данные:
{'banana', 'apple', 'cherry'}
С помощью функции set():
# Преобразование списка в множество
numbers = set([1, 2, 3, 4, 5])
print(numbers)Выходные данные:
{1, 2, 3, 4, 5}
Основные операции над множествами
- Добавление элемента:
Для добавления элемента используется метод add()
fruit_set = {"apple", "banana", "cherry"}
fruit_set.add("orange")
print(fruit_set)Выходные данные:
{'banana', 'apple', 'cherry', 'orange'}
Удаление элемента:
Существует несколько методов для удаления элементов:
remove(element): Удаляет элемент, если его нет — выбрасывает ошибкуKeyError.discard(element): Удаляет элемент, если его нет — ничего не происходит.pop(): Удаляет и возвращает случайный элемент.
fruit_set = {"apple", "banana", "cherry"}
fruit_set.remove("banana")
print(fruit_set)
fruit_set.discard("apple")
print(fruit_set)
fruit_set.pop() # Удаляет случайный элемент
print(fruit_set)Выходные данные:
{'apple', 'cherry'}
{'cherry'}
set() # Осталось пустое множество
Специальные методы работы с множествами
В этой секции рассмотрим методы, которые позволяют выполнять различные операции над множествами, такие как объединение, пересечение и разность множеств.

- Объединение множеств (
unionи оператор|):
Объединение множеств возвращает новое множество, содержащее все уникальные элементы обоих исходных множеств.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)
print(union_set)Выходные данные:
{1, 2, 3, 4, 5}
Пересечение множеств (intersection и оператор &):
Пересечение множеств возвращает новое множество, содержащее только те элементы, которые присутствуют в обоих исходных множествах.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1.intersection(set2)
print(intersection_set)Выходные данные:
{3}
Разность множеств (difference и оператор -):
Разность множеств возвращает новое множество, содержащее элементы, которые присутствуют в первом множестве, но отсутствуют во втором.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
difference_set = set1.difference(set2)
print(difference_set)
Выходные данные:
{1, 2}
Симметричная разность множеств (symmetric_difference и оператор ^):
Симметричная разность возвращает новое множество, содержащее элементы, которые присутствуют в одном из множеств, но не в обоих.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
sym_diff_set = set1.symmetric_difference(set2)
print(sym_diff_set)Выходные данные:
{1, 2, 4, 5}
Проверка подмножества и надмножества (issubset и issuperset):
issubset(): Проверяет, является ли одно множество подмножеством другого.
set1 = {1, 2, 3}
set2 = {1, 2}
print(set2.issubset(set1)) # TrueВыходные данные:
Trueissuperset(): Проверяет, является ли одно множество надмножеством другого.
set1 = {1, 2, 3}
set2 = {1, 2}
print(set1.issuperset(set2)) # TrueВыходные данные:
True
Что может быть элементом множества?
Множество может содержать только хэшируемые объекты, такие как числа, строки и кортежи. Нехэшируемые объекты, такие как списки и другие множества, не могут быть элементами множества.
valid_set = {1, 2, "apple", (3, 4)}
# invalid_set = {[1, 2], {3, 4}} # Ошибка
Вот таблица по множествам:
| Концепция/Метод | Описание | Пример использования | Выходные данные |
|---|---|---|---|
| Создание множества | Множество создается через литерал {} или функцию set(). | my_set = {1, 2, 3} empty_set = set() | {1, 2, 3} set() |
| Уникальность | Множество содержит только уникальные элементы. | set([1, 2, 2, 3]) | {1, 2, 3} |
| Добавление элемента | Добавляет элемент в множество (если его нет). | my_set.add("apple") | {1, 2, 3, "apple"} |
| Удаление элемента | Удаляет элемент с помощью методов remove(), discard() или случайный элемент pop(). | my_set.remove(2) my_set.pop() | {1, 3} |
| Объединение множеств | Возвращает новое множество с элементами обоих множеств. | set1.union(set2) `set1 | set2` |
| Пересечение множеств | Возвращает множество с элементами, присутствующими в обоих множествах. | set1.intersection(set2) set1 & set2 | {3} |
| Разность множеств | Возвращает множество с элементами, которые есть в первом, но отсутствуют во втором. | set1.difference(set2) set1 - set2 | {1, 2} |
| Симметричная разность | Возвращает множество с элементами, присутствующими только в одном из множеств. | set1.symmetric_difference(set2) ^ | {1, 2, 4, 5} |
| Проверка подмножества | Проверяет, является ли одно множество подмножеством другого. | set2.issubset(set1) | True |
| Проверка надмножества | Проверяет, является ли одно множество надмножеством другого. | set1.issuperset(set2) | True |
| Хэшируемость элементов | Множество может содержать только хэшируемые элементы (числа, строки, кортежи). | valid_set = {1, "apple", (3, 4)} | {1, "apple", (3, 4)} |
| Изменяемость множеств | Множества изменяемы, можно добавлять или удалять элементы. | fruit_set.add("orange") | {"apple", "banana", "cherry", "orange"} |
| Неизменяемые множества | frozenset — неизменяемый аналог множества, нельзя добавлять или удалять элементы. | frozen = frozenset([1, 2, 3]) | frozenset({1, 2, 3}) |
Этот список методов и примеров работы с множествами поможет понять, как использовать их для эффективного решения задач в Python. Неизменяемые множества мы рассмотрим позже.
Множества — мощный и гибкий инструмент Python для работы с уникальными и неупорядоченными данными. Они просты в использовании и предоставляют множество встроенных методов для выполнения различных операций. Понимание и эффективное использование множеств может значительно упростить задачи, связанные с обработкой данных. В следующей лекции мы разберём то, как применяются множества в реальных задачах.
Kengurushny
,Вопрос не по теме. А будет типа курс или статья как найти оффер стажировку и тд?
admin
,Kengurushny, Уххх, в наше время(2025 год), зная только питон и пару библиотек оффер не найти по сути, я отвечал по-моему под другой лекцией об этом, щас нужны реальные знания плюсом: матан, инженерные навыки. Но если вы отточите навыки питона + норм знание линукса + умение во всякие кибернетисы и докеры и ещё свяжите это с какой-нибудь автоматизацией , то это уже позволит найти норм работу, где вы будете как архитектор, строить из блоков всякие девопс системы или что-то подобное. Наш сайт скорее помогает развить базовые навыки, которые могут помочь вам начать свой путь в этом всём многообразии библиотек и технологий "высокого" уровня.