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值的方法。
它通常用于设计高性能的数据结构。