标签: python dictionary immutability mutable
我正在尝试这个简单的函数来切换给定字典的键和值:
def reverse_dict(d): return {y:x for x,y in d.items()}
如果值是不可变的,则工作正常,但是如果其中一个值是列表,则会出现以下错误:
TypeError: unhashable type: 'list'
为什么该函数的值必须是不可变的? 我对python的内存模型发生了什么感兴趣。