2018-10-23
阅读量:
913
python错误解析(十一)
代码如下:
>>> hash(1,(2,[3,4]))
Traceback (most recent call last):
File "<pyshell#95>", line 1, in <module>
hash((1,2,(2,[3,4])))
TypeError: unhashable type: 'list'
【错误分析】字典中的键必须是不可变对象,如(整数,浮点数,字符串,元祖).
可用hash()判断某个对象是否可hash
代码如下:
>>> hash('string')
-1542666171
但列表中元素是可变对象,所以是不可hash的,所以会报上面的错误.
如果要用列表作为字典中的键,最简单的办法是:
代码如下:
>>> D = {}
>>> D[tuple([3,4])] = 5
>>> D
{(3, 4): 5}






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
1条评论