Множество (set) в Python - это неупорядоченная коллекция уникальных элементов. Вот основные аспекты, которые стоит знать о множествах в Python:
Создание множества
Множество можно создать, перечислив его элементы в фигурных скобках `{}`.
my_set = {1, 2, 3}
Также можно создать множество из другой итерируемой последовательности с помощью функции
set()
.my_list = [1, 2, 3, 3]
my_set = set(my_list)
print(my_set) # Вывод: {1, 2, 3}
Уникальность элементов
Множество содержит только уникальные элементы. Если вы добавляете элемент, который уже присутствует в множестве, он не будет добавлен второй раз.
my_set = {1, 2, 3}
my_set.add(3) # Ничего не изменится
Методы множеств
Метод | Значение |
add() | Добавляет элемент в множество. |
remove() | Удаляет элемент из множества. Если элемент не найден, возникает ошибка. |
discard() | Удаляет элемент из множества, если он присутствует. |
pop() | Удаляет и возвращает произвольный элемент из множества. Если множество пусто, возникает ошибка. |
clear() | Очищает множество, удаляя все его элементы. |
copy() | Создает копию множества. |
update() | Обновляет множество, добавляя элементы из другого множества или итерируемого объекта. |
union(), intersection(), difference(), symmetric_difference() | Операции над множествами. |
1. add()
Добавляет элемент в множество. Если элемент уже присутствует, ничего не происходит.
my_set = {1, 2, 3}
my_set.add(4)
print(my_set) # Вывод: {1, 2, 3, 4}
2. remove()
Удаляет указанный элемент из множества. Если элемент не найден, возникает ошибка
KeyError
.my_set = {1, 2, 3}
my_set.remove(2)
print(my_set) # Вывод: {1, 3}
3. discard()
Удаляет указанный элемент из множества, если он присутствует. Если элемент не найден, ничего не происходит.
my_set = {1, 2, 3}
my_set.discard(2)
print(my_set) # Вывод: {1, 3}
4. pop()
Удаляет и возвращает произвольный элемент из множества. Если множество пусто, возникает ошибка
KeyError
.my_set = {1, 2, 3}
popped_element = my_set.pop()
print(popped_element) # Вывод: В зависимости от реализации Python
print(my_set) # Вывод: {2, 3}
5. clear()
Удаляет все элементы из множества, оставляя его пустым.
my_set = {1, 2, 3}
my_set.clear()
print(my_set) # Вывод: set()
6. copy()
Создает копию множества.
my_set = {1, 2, 3}
new_set = my_set.copy()
print(new_set) # Вывод: {1, 2, 3}
7. update()
Обновляет множество, добавляя элементы из другого множества или итерируемого объекта.
my_set = {1, 2, 3}
other_set = {3, 4, 5}
my_set.update(other_set)
print(my_set) # Вывод: {1, 2, 3, 4, 5}
8. union(), intersection(), difference(), symmetric_difference()
Объединение множеств: `|` или метод
union()
.Пересечение множеств: `&` или метод
intersection()
.Разность множеств: `-` или метод
difference()
.Симметрическая разность: `^` или метод
symmetric_difference()
.set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1 | set2 # Или: set1.union(set2)
intersection_set = set1 & set2 # Или: set1.intersection(set2)
difference_set = set1 - set2 # Или: set1.difference(set2)
symmetric_difference_set = set1 ^ set2 # Или: set1.symmetric_difference(set2)
Функции для работы с множествами
len()
: Возвращает количество элементов в множестве.max()
: Возвращает максимальный элемент в множестве.min()
: Возвращает минимальный элемент в множестве.sum()
: Возвращает сумму всех элементов в множестве.my_set = {1, 2, 3}
print(len(my_set)) # Вывод: 3
print(max(my_set)) # Вывод: 3
print(min(my_set)) # Вывод: 1
Отличительные черты множеств
Множество является изменяемым типом данных, поэтому его можно изменять, добавлять новые элементы и удалять существующие.
Элементы множества не упорядочены, поэтому нет гарантии, что они будут в том же порядке, в котором были добавлены.
Множество является нехешируемым типом данных, поэтому нельзя использовать множество в качестве ключа словаря или вложенного множества.