📅  最后修改于: 2023-12-03 15:20:42.565000             🧑  作者: Mango
当我们尝试使用Python中的drop_duplicates()函数删除列表中的重复元素时,由于传入的列表中包含不可哈希类型的元素,因此会抛出此TypeError异常。通常,这种异常会在对于类似于列表、字典等不可哈希对象进行操作时经常出现。
一个解决方法是将列表转换为元组,因为元组是可哈希的:
list_with_duplicates = [[1, 2], [3, 4], [1, 2]]
list_without_duplicates = list(set(tuple(x) for x in list_with_duplicates))
2.用自定义函数
另一种解决方法是使用自定义函数。这个函数可以将一个列表作为参数,并将其转换为不包含重复项的新列表:
def remove_duplicates(lst):
new_list = []
for i in lst:
if i not in new_list:
new_list.append(i)
return new_list
list_with_duplicates = [[1, 2], [3, 4], [1, 2]]
list_without_duplicates = remove_duplicates(list_with_duplicates)
以上是两种常见的解决方法,但是否适用于您的具体情况需要您进一步考虑和测试。