> For the complete documentation index, see [llms.txt](https://bemind.gitbook.io/neural/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bemind.gitbook.io/neural/python/vstroennye-funkcii-python/frozenset.md).

# frozenset()

`frozenset()` - это встроенная функция в Python, которая возвращает неизменяемый frozenset-объект, созданный из итерируемого объекта. Frozenset похож на обычный set, но не может быть изменен после создания. Основные характеристики `frozenset()`:

**Назначение**:

* Создание неизменяемого набора уникальных элементов.
* Использование в качестве ключа в словарях или элемента в других frozenset-объектах.

**Возврат**:

* Возвращает frozenset - неизменяемый набор уникальных элементов.

**Описание**:

* Принимает итерируемый объект (список, кортеж, другой set и т.д.) в качестве аргумента.
* Дубликаты автоматически удаляются.
* Элементы frozenset должны быть неизменяемыми (строки, числа, кортежи).

**Примеры**:

1. Создание frozenset из списка
2. Использование frozenset в качестве ключа в словаре
3. Проверка вхождения элемента в frozenset

{% tabs %}
{% tab title="1." %}

```python
normal_list = [1, 2, 2, 3, 3, 3]
unique_frozen_set = frozenset(normal_list)
print(unique_frozen_set)  # Вывод: frozenset({1, 2, 3})
```

{% endtab %}

{% tab title="2." %}

```python
cities = {
    frozenset(["Moscow", "Russia"]): "Москва",
    frozenset(["London", "UK"]): "Лондон",
    frozenset(["Berlin", "Germany"]): "Берлин"
}
print(cities[frozenset(["Moscow", "Russia"])])  # Вывод: Москва
```

{% endtab %}

{% tab title="3." %}

```python
vowels = frozenset(['a', 'e', 'i', 'o', 'u'])
print('a' in vowels)  # Вывод: True
print('b' in vowels)  # Вывод: False
```

{% endtab %}
{% endtabs %}

**Использование**:

* Для создания неизменяемых наборов элементов, которые могут использоваться в качестве ключей словарей или элементов других frozenset-объектов.
* Для оптимизации операций поиска в наборах данных, так как поиск в frozenset быстрее, чем в списке.
* Для обеспечения неизменности набора элементов, например, в многопоточных приложениях.

Frozenset широко используется в различных областях, таких как обработка данных, структуры данных, криптография и многих других, где требуется неизменяемый набор уникальных элементов.
