Да, кортеж можно использовать в качестве ключа в словаре Python.
Это возможно, потому что кортежи являются неизменяемыми (immutable) типами данных. Ключи словаря в Python должны быть неизменяемыми, чтобы гарантировать, что их хэш-значение не изменится со временем. Если хэш-значение ключа изменяется, то словарь не сможет правильно найти соответствующее значение.
Строки, числа и кортежи являются примерами неизменяемых типов данных, которые могут быть использованы в качестве ключей словаря. Списки и словари, напротив, являются изменяемыми типами данных и не могут использоваться в качестве ключей.
Пример:
my_dict = {
(1, 2): "Значение 1",
("a", "b"): "Значение 2",
(True, False): "Значение 3"
}
print(my_dict[(1, 2)]) # Вывод: Значение 1
Важное замечание: Кортеж может быть использован в качестве ключа только в том случае, если все элементы внутри кортежа тоже являются неизменяемыми. Например, кортеж, содержащий список, не может быть ключом словаря.
# Это вызовет ошибку TypeError: unhashable type: 'list'
# my_dict = {([1, 2], "a"): "Значение"}