TypeError: unhashable type: 'list'
时间:2020-02-23 14:43:46 来源:igfitidea点击:
在本教程中,让我们解决问题 TypeError: unhashable type: 'list'。
当您试图将“list”作为键放入“dictionary”或“set”时,会出现此错误,因为list是不可损坏的对象TypeError:unhable type通常在尝试哈希不可哈希的对象时引发。
让我们看下例子
dict1 ={ 1:'one', [2,10]:'two'}
print(dict1)
输出:
--------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-73-c4e2fd1e6bf0> in <module>
----> 1 dict1 ={ 1:'one', [2,10]:'two'}
2 print(dict1)
TypeError: unhashable type: 'list'
我们可以通过传递给元组来解决此问题。
由于元组是不可变的对象,它可以用作字典中的键。
dict1 ={ 1:'one', tuple([2,10]):'two'}
print(dict1)
正如我们所看到的,一旦我们使用Tuple()函数,程序就好了。
让我们看到一个设置的另一个例子。
set1={[1,2],[3,4]}
print(set1)
输出:
--------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-75-31a9df7b7b7f> in <module>
----> 1 set1={[1,2],[3,4]}
TypeError: unhashable type: 'list'
我们可以通过传递给元组来解决此问题。
自从 tuple是不可变的对象,它可以用作字典中的键。
set1={tuple([1,2]),tuple([3,4])}
print(set1)
输出:
{(1, 2), (3, 4)}
正如我们所看到的,一旦我们使用 tuple()功能,程序工作正常。
什么是Hashable objects?
散列是一种将数据编码为固定大小int值的方法。
它通常用于设计高性能的数据结构。

