TypeError:不可用类型:'list',删除列表中的重复项

时间:2013-03-02 02:26:22

标签: python

当我输入以下代码时。我只是尝试删除列表中的重复项。此列表中可能有10K对。

>>> t = [['a','1'],['a','1'],['a','2']...]
>>> t = list(set(t))

Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
t = list(set(t))
TypeError: unhashable type: 'list'
>>>

2 个答案:

答案 0 :(得分:1)

尝试使用元组替换列表:('a','1')。据我所知,元组是可以清洗的。

答案 1 :(得分:0)

我知道这已经过时了,但它仍然是谷歌首先出现的。元组工作如果你只有两个元素&#34;子列表&#34;,但是如果你想要删除重复的子列表,如果你有一个列表如下:

a=[[1,2],[1,2],[1,2],[1,4],[1,2,3],[1,2],[1,2]]

你可以使用

b=[a[x] for x in range(len(a)) if not(a[x] in a[:x])]

和b将只包含

中的唯一元素