【python源码探究】dict的key不能是list
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 一条面试题 本文源自一条最常见的python面试题: 问:list对象能不能做dict的key?tuple呢? 答:不能,因为list是Mutable类型,不能作为dict的key。而tuple是Immutable类型,可以作为dict的key。 咱们做个实验,从dict的赋值代码抛错来感受一下上面的答案: >>> l=[1,2,3] >>> d[l]=123 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unhashable type: 'list' 抛错已经说明白了,因为list是unhashable类型,所以能否hashable就是关键点,再来看list与tuple之间在hashable上的区别: mappingproxy({'__repr__': <slot wrapper '__repr__' o...