python - 从列表列表中删除重复项?

标签 python list set

<分区>

Possible Duplicate:
Python: removing duplicates from a list of lists

从列表列表中删除重复项的最佳方法是什么?

我试图像这样使用集合:

L1 = [['fox', 'dog'],['bat', 'rat'],['fox', 'dog']]  
L1 = list(set(L1))

不幸的是,我得到一个 TypeError: unhashable type: 'list'。

在我的列表中有两次 ['fox', 'dog']。我希望 L1 删除重复项,看起来像这样:

L1 = [['狐狸', '狗'],[' bat ', '老鼠']]

最佳答案

如果您将内部列表转换为元组,您将能够成功地将它们添加到一个集合中,例如:

>>> set(map(tuple, L1))
set([('fox', 'dog'), ('bat', 'rat')])

如有必要,您可以像这样返回列表列表:

>>> map(list, set(map(tuple, L1)))
[['fox', 'dog'], ['bat', 'rat']]

关于python - 从列表列表中删除重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6879806/

相关文章:

python - 有没有一种方法可以将多个逻辑回归方程整合为一个?

r - 将数据框添加到每个列表元素

Python for循环输出到列表中

java - Java 中集合的并集和交集(生成拓扑)

Python以最有效的方法比较两组大量数据

javascript - JS AlertBox 抛出 JavaScript 错误 : "e is null

python - 以不同格式导出数据集

python - 运行时有程序报告集市修订号

c# - 是否在此 foreach 循环中创建了垃圾?

Python:访问集合的成员