Почему нельзя перевернуть словарь с изменяемыми значениями?

Я пытаюсь эту простую функцию, которая переключает ключи и значения для данного словаря:

def reverse_dict(d):
    return {y:x for x,y in d.items()}

Работает нормально, если значения неизменяемы, однако, если одно из значений является списком, я получаю следующую ошибку:

TypeError: unhashable type: 'list'

Почему значение должно быть неизменным, чтобы эта функция работала? Меня интересует, что происходит с точки зрения модели памяти Python.

0 ответов

Другие вопросы по тегам