本文介绍如何处理报错–TypeError: unhashable type: 'list’
源代码:
dict1 = {1: '111', '2': '222'}
name = [1, ]
print(name, ':', dict1[name])
运行报错如下:
C:\Python37\python.exe "D:/Program Files/PycharmProjects/pycharmPrj/zzz/Python/lx0.py"
Traceback (most recent call last):
File "D:/Program Files/PycharmProjects/pycharmPrj/zzz/Python/lx0.py", line 6, in <module>
print(name, ':', dict1[name])
TypeError: unhashable type: 'list'
由于返回的name值是个list,list是可变的,不可hash,不能作为dict的keys。因此我们需要对其进行索引第一个值 --value[0]—。
修改代码如下:
dict1 = {1: '111', '2': '222'}
name = [1, ]
print(name[0], ':', dict1[name[0]])
运行如下:
C:\Python37\python.exe "D:/Program Files/PycharmProjects/pycharmPrj/zzz/Python/lx0.py"
1 : 111
Process finished with exit code 0