К каким типам относится ключ словаря в Python
Python
Middle
Aston
К каким типам относится ключ словаря в Python
Ответы
В Python ключом словаря может быть любой **хешируемый** (immutable) тип данных. Это означает, что объект должен иметь метод `__hash__()` и быть неизменяемым. Основные допустимые типы:
- **Числа**: `int`, `float`, `bool` (но `True == 1`, `False == 0` – будьте осторожны!)
- **Строки**: `str`
- **Кортежи**: `tuple`, но только если все их элементы тоже хешируемые
- **Frozenset**
**Нельзя использовать**:
- **Списки**: `list`
- **Словари**: `dict`
- **Множества**: `set`
Пример:
```
valid_dict = {
42: "number",
"key": "string",
(1, 2): "tuple",
frozenset([1, 2]): "frozenset"
}
# Ошибка – list изменяемый
invalid_dict = { [1, 2]: "list" } # TypeError: unhashable type: 'list'
```