python从列表中删除重复的字典

标签 python

我有一个字典列表

l = [
{'firstname': 'joe', 'surname': 'bloggs'},
{'firstname': 'john', 'surname': 'smith'},
{'firstname': 'joe', 'surname': 'bloggs'},
{'firstname': 'jane', 'surname': 'bloggs'}
]

我如何删除重复项,即 {'firstname': 'joe', 'surname': 'bloggs'} 出现两次,所以希望它只出现一次?

最佳答案

这样的事情应该做的事情:

result = [dict(tupleized) for tupleized in set(tuple(item.items()) for item in l)]

首先,我将初始字典转换为一个元组列表,然后将它们放入一个集合(删除重复条目),然后返回一个字典。

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

相关文章:

聊天机器人的 Python 字符常量

Python FFmpeg : Single static image coupled with audio outputs massive file size

python - 如何从函数定义中设置函数属性?

python - 我可以在 if 语句中不使用 break 来执行此操作吗?

python - 包含数字的列表

jquery - 直接 LXML 或 PyQuery

python - 使用正则表达式来匹配我的字符串内容?

python - Beautiful Soup - 列表中所有项目的结果转为 CSV

python - 运行多个 Scrapy 蜘蛛(最简单的方法)Python

python - Python Pandas 中的 Groupby/Sum - 零计数不显示......有时