TypeError: unhashable type: ‘list‘

这个错误通常是因为你试图将一个不可哈希的对象(如列表、字典等)作为字典的键或集合的元素。因为字典和集合是基于哈希表实现的,哈希表要求键或元素必须是可哈希的对象。

如果你想把一个列表作为字典的键或集合的元素,可以将其转换为元组,因为元组是不可变的,可以作为字典的键或集合的元素。例如:

lst = [[1, 2], [3, 4], [1, 2]]
d = {}
for item in lst:
    d[tuple(item)] = 1
print(d)

在上面的代码中,我们将列表 lst 中的每个元素都转换为元组,然后将其作为字典的键。运行结果为:

{(1, 2): 1, (3, 4): 1}

同样的,如果你想把一个列表作为集合的元素,也可以将其转换为元组,例如:

lst = [[1, 2], [3, 4], [1, 2]]
s = set()
for item in lst:
    s.add(tuple(item))
print(s)

在上面的代码中,我们将列表 lst 中的每个元素都转换为元组,然后将其添加到集合中。运行结果为:

{(1, 2), (3, 4)}

你可能感兴趣的:(python,开发语言,list,set)