python dict key问题
课程里是这么说的
dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。
但是为什么变量的值也是可变的,但是可以作为Key?
>>> x=1
>>> d={x:1}
>>> print d[x]
1
>>> x=2
>>> print d[x]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 2
>>> print l
['1', 2]
>>> d={l:1}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'