Какие знаешь требования к ключам в словаре Python
Python
Middle
Rutube
Какие знаешь требования к ключам в словаре Python
Ответы
В Python ключи словаря должны быть **хешируемыми** объектами. Это означает, что объект должен иметь:
- **Неизменяемый тип** (int, float, str, tuple, frozenset).
- Реализованный метод `__hash__()`, возвращающий одинаковое значение на протяжении жизни объекта.
- Метод `__eq__()` для сравнения ключей.
**Нельзя использовать** изменяемые типы (list, dict, set) в качестве ключей — это вызовет `TypeError`.
Пример:
```
valid_dict = {
1: "int",
"key": "str",
(1, 2): "tuple"
}
# Невалидно:
invalid_dict = {
[1, 2]: "list" # TypeError: unhashable type: 'list'
}
```