当我键入以下代码时。我只是尝试删除列表中的重复项目。此列表中可能有 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'
>>>
当我键入以下代码时。我只是尝试删除列表中的重复项目。此列表中可能有 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'
>>>
尝试用元组替换列表:('a','1')
. 据我所知,元组是可散列的。
我知道这是旧的,但它仍然首先出现在谷歌中。如果每个“子列表”只有两个元素,元组就可以工作,但是如果你想更普遍地删除重复的子列表,如果你有一个类似的列表:
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 将仅具有来自 a 的唯一元素