Функция frozenset
в Python создает неизменяемое множество из переданного итерируемого объекта. В отличие от обычного множества (set), элементы frozenset
нельзя изменять после создания, что делает его полезным для использования в качестве ключей в словарях или элементов других множеств.
Содержание
- Синтаксис
- Параметры
- Возвращаемое значение
- Примеры использования
- Пример 1: Создание пустого frozenset
- Пример 2: Создание frozenset из списка
- Пример 3: Создание frozenset из строки
- Пример 4: Создание frozenset из множества
- Пример 5: Использование frozenset в качестве ключа словаря
- Операции с frozenset
- Объединение (union)
- Пересечение (intersection)
- Разность (difference)
- Симметрическая разность (symmetric_difference)
- Важные замечания
Синтаксис
frozenset([iterable])
Параметры
iterable
: Необязательный параметр. Итерируемый объект (например, список, кортеж, строка, множество), из которого будет создано множество. Если не указан, создается пустое множество.
Возвращаемое значение
Функция возвращает объект типа frozenset
, содержащий уникальные элементы из итерируемого объекта.
Примеры использования
Пример 1: Создание пустого frozenset
empty_frozenset = frozenset()
print(empty_frozenset) # Вывод: frozenset()
Пример 2: Создание frozenset
из списка
numbers = [1, 2, 3, 4, 5]
frozen_numbers = frozenset(numbers)
print(frozen_numbers) # Вывод: frozenset({1, 2, 3, 4, 5})
Пример 3: Создание frozenset
из строки
string = "hello"
frozen_string = frozenset(string)
print(frozen_string) # Вывод: frozenset({'e', 'h', 'l', 'o'})
Пример 4: Создание frozenset
из множества
set_data = {1, 2, 3}
frozen_set = frozenset(set_data)
print(frozen_set) # Вывод: frozenset({1, 2, 3})
Пример 5: Использование frozenset
в качестве ключа словаря
frozen_key = frozenset([1, 2, 3])
dictionary = {frozen_key: "value"}
print(dictionary) # Вывод: {frozenset({1, 2, 3}): 'value'}
Операции с frozenset
Объединение (union)
a = frozenset([1, 2, 3])
b = frozenset([3, 4, 5])
result = a | b
print(result) # Вывод: frozenset({1, 2, 3, 4, 5})
Пересечение (intersection)
a = frozenset([1, 2, 3])
b = frozenset([3, 4, 5])
result = a & b
print(result) # Вывод: frozenset({3})
Разность (difference)
a = frozenset([1, 2, 3])
b = frozenset([3, 4, 5])
result = a - b
print(result) # Вывод: frozenset({1, 2})
Симметрическая разность (symmetric_difference)
a = frozenset([1, 2, 3])
b = frozenset([3, 4, 5])
result = a ^ b
print(result) # Вывод: frozenset({1, 2, 4, 5})
Важные замечания
- Неизменяемость: Элементы
frozenset
не могут быть изменены после создания. Это делает его безопасным для использования в ситуациях, требующих неизменяемых коллекций. - Уникальность элементов: Как и обычное множество,
frozenset
хранит только уникальные элементы, исключая дубликаты. - Хэшируемость: Поскольку
frozenset
неизменяем, он может быть использован в качестве ключа в словарях или элемента в других множествах.