从 Python 列表中删除重复的字典
处理字典列表时,通常需要删除共享相同键的重复项 -值对。本文提供了使用 Python 的强大解决方案。
问题陈述:
给定一个字典列表,目标是删除包含相同键和值的字典
解决方案:
为了实现这一点,我们采用两步方法:
为了从唯一的元组重建字典,我们使用字典理解。这是代码片段:
original_list = [{'a': 123}, {'b': 123}, {'a': 123}] # Convert dictionaries to tuples tuples = [tuple(d.items()) for d in original_list] # Remove duplicates using a set unique_tuples = set(tuples) # Reconstruct dictionaries result_list = [dict(t) for t in unique_tuples] print(result_list)
输出:
[{'a': 123}, {'b': 123}]
保留排序:
如果保留原始字典的顺序至关重要,我们可以使用稍微不同的方法:
代码如下:
original_list = [{'a': 123, 'b': 1234}, {'a': 3222, 'b': 1234}, {'a': 123, 'b': 1234}] seen = set() result_list = [] for d in original_list: t = tuple(d.items()) if t not in seen: seen.add(t) result_list.append(d) print(result_list)
输出:
[{'a': 123, 'b': 1234}, {'a': 3222, 'b': 1234}]
以上是如何在保留顺序的同时有效地从 Python 列表中删除重复的字典?的详细内容。更多信息请关注PHP中文网其他相关文章!