list去重,TypeError: unhashable type: 'list'

Posted guweixin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list去重,TypeError: unhashable type: 'list'相关的知识,希望对你有一定的参考价值。

     众所周知,list去掉重复元素可将list转为set即可,

but,

>>> test = [1,2,‘a‘,‘a‘]

>>> test1= list(set(test))
>>> print(test1)
[1, 2, ‘a‘]

>>> test.append([‘a‘])
>>> print(test)
[1, 2, ‘a‘, ‘a‘, [‘a‘]]

>>> test2= list(set(test))

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: unhashable type: ‘list‘

>>>

   

这种报错是因为调用set()转集合类型,传递的参数必须是可哈希的

可哈希元素:int,float,str,tuple
不可哈希元素:list,set,dict

 

以上是关于list去重,TypeError: unhashable type: 'list'的主要内容,如果未能解决你的问题,请参考以下文章

list去重+Java8-Stream distinct 根据list某个字段去重

Java48List去重

List集合去重

java List怎么分组去重

列表去重

列表去重