Junior — Middle
134
Կարո՞ղ է լինել, որ տիպը որպես բանալի օգտագործվի 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'
Итого, кортеж можно использовать как ключ словаря, если он состоит только из хешируемых элементов.