热线电话:13121318867

登录
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.0000
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子