Почему нельзя перевернуть словарь с изменяемыми значениями?
Я пытаюсь эту простую функцию, которая переключает ключи и значения для данного словаря:
def reverse_dict(d):
return {y:x for x,y in d.items()}
Работает нормально, если значения неизменяемы, однако, если одно из значений является списком, я получаю следующую ошибку:
TypeError: unhashable type: 'list'
Почему значение должно быть неизменным, чтобы эта функция работала? Меня интересует, что происходит с точки зрения модели памяти Python.