Может ли кортеж быть ключом словаря в Python
Python
Middle
Билайн
Может ли кортеж быть ключом словаря в Python
Ответы
Да, кортеж может быть ключом словаря в Python, но только если все его элементы также являются хешируемыми (неизменяемыми) типами. Это связано с тем, что ключи словаря должны быть хешируемыми, а кортежи хешируемы, если их элементы хешируемы.
Пример допустимого кортежа-ключа:
```
valid_key = (1, 'two', 3.0)
d = {valid_key: 'value'} # Работает
```
Пример недопустимого кортежа (содержит список):
```
invalid_key = (1, [2, 3]) # TypeError: unhashable type: 'list'
d = {invalid_key: 'value'} # Вызовет исключение
```
Кортежи часто используют как составные ключи для словарей, например, для хранения данных по координатам или составным идентификаторам.