2018-10-23
閱讀量:
953
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'
【錯誤分析】字典中的鍵必須是不可變對象,如(整數(shù),浮點數(shù),字符串,元祖).
可用hash()判斷某個對象是否可hash
代碼如下:
>>> hash('string')
-1542666171
但列表中元素是可變對象,所以是不可hash的,所以會報上面的錯誤.
如果要用列表作為字典中的鍵,最簡單的辦法是:
代碼如下:
>>> D = {}
>>> D[tuple([3,4])] = 5
>>> D
{(3, 4): 5}






評論(0)


暫無數(shù)據(jù)
推薦帖子
0條評論
0條評論
0條評論