Junior — Middle
136
Оё имкон дорад, ки як tuple ҳамчун калид дар луғати Python истифода шавад ва дар кадом шартҳо ин иҷозат дода мешавад?
Ширкатҳо дар куҷо пурсиданд
Ҷавоб аз AI
sobes.tech AI
Да, в Python кортеж можно использовать в качестве ключа словаря, если он является неизменяемым (immutable). Ключи словаря должны быть хешируемыми, то есть иметь неизменяемое состояние и реализовывать метод __hash__.
Кортежи сами по себе неизменяемы, поэтому подходят для ключей, если все их элементы тоже хешируемы. Например:
my_dict = { (1, 2): "value", ("a", "b"): 42 }
print(my_dict[(1, 2)]) # Выведет: value
Однако, если кортеж содержит изменяемые объекты, например списки, он не будет хешируемым и использоваться как ключ нельзя:
key = (1, [2, 3]) # Список внутри кортежа
my_dict = {}
my_dict[key] = "test" # Ошибка TypeError: unhashable type: 'list'
Итого, кортеж можно использовать как ключ словаря, если он состоит только из хешируемых элементов.