”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何消除Python列表中的重复字典?

如何消除Python列表中的重复字典?

发布于2024-11-08
浏览:516

How to Eliminate Duplicate Dictionaries in a Python List?

从字典列表中删除重复项

数据集合中的重复可能会妨碍高效的数据处理。在Python编程中,字典列表通常用于存储表格数据。但是,在某些情况下,您可能需要从此类列表中删除重复的词典。

考虑以下词典列表:

[
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]

目标是获得仅包含唯一词典的列表,排除重复项。为了实现这一点,我们可以采用一种简单的方法:

创建一个以 ID 为键的临时字典

  1. 使用列表理解创建一个临时字典,其中每个字典的键是其“id”字段。
  2. 此步骤实质上将每个唯一的“id”值映射到特定字典。

从值中提取唯一字典

  1. 使用values()方法获取临时字典的值。
  2. 结果是删除重复项的唯一字典列表。

Python 实现

以下是如何在 Python 中实现此方法:

def remove_duplicates_from_dicts(dict_list):
    dict_id_mapping = {v['id']: v for v in dict_list}
    return list(dict_id_mapping.values())

sample_list = [
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]
print(remove_duplicates_from_dicts(sample_list))

此代码将产生以下输出:

[{'id': 1, 'name': 'john', 'age': 34}, {'id': 2, 'name': 'hanna', 'age': 30}]

通过使用此策略,可以有效地从列表中删除重复的字典,并获得一个只有唯一的新列表元素。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3