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
原文地址:https://www.cnblogs.com/guweixin/p/13269588.html