d = {[1, 2]: "value"}
В Python представленный код вызовет ошибку TypeError: unhashable type: 'list'
.
Причина: Ключи словаря (dict
) в Python должны быть hashable. Это означает, что они должны быть неизменяемыми (immutable) и иметь hash-значение, которое не меняется в течение их жизни. Списки (list
) являются изменяемыми (mutable), то есть их можно изменять после создания, поэтому они не могут быть использованы в качестве ключей словаря.
Решение: Если требуется использовать упорядоченную последовательность чисел в качестве ключа, можно использовать кортеж (tuple
). Кортежи являются неизменяемыми.
Пример исправленного кода:
d = {(1, 2): "value"}
print(d) # Вывод: {(1, 2): 'value'}
Альтернативные решения:
d = {str([1, 2]): "value"}
print(d) # Вывод: {'[1, 2]': 'value'}