欢迎各位兄弟 发布技术文章
这里的技术是共享的
为了根据 field_person_gh 的值去除重复项,并保留最后一个元素,我们可以从列表中遍历每个元素,并使用一个集合来跟踪我们已经看到的 field_person_gh 值。这样我们可以在遍历完成后保留最后出现的元素。
以下是实现这个逻辑的示例代码:
python# A 列表 A = [ {'field_person_gh': '78906529', 'field_manager_gh': '16603417', 'field_change_status': '修改成功', 'field_person_name': '张三', 'field_manager_name': '李四', 'field_operation_time': '2025-01-13 07:45:10', 'field_person_email': 'Devin-YC.Chen@luxshare-ict.com', 'field_manager_email': 'Jason.F@luxshare-ict.com', 'field_person_status': '账户正常', 'field_manager_status': '账户正常'}, {'field_person_gh': '78906529', 'field_manager_gh': '89634456', 'field_change_status': '修改成功', 'field_person_name': '王五', 'field_manager_name': '赵六', 'field_operation_time': '2025-01-13 07:45:10', 'field_person_email': 'Jiao.Bai@luxshare-ict.com', 'field_manager_email': 'Zhouqian.Yang@luxshare-ict.com', 'field_person_status': '账户正常', 'field_manager_status': '账户正常'} ] # 创建一个字典用于存储每个 field_person_gh 的最新记录 latest_records = {} # 遍历 A 列表 for item in A: gh = item['field_person_gh'] latest_records[gh] = item # 更新字典中的值,始终保留最新的记录 # 将字典中的值转换回列表 result = list(latest_records.values()) # 输出结果 print(result)
创建一个字典:latest_records 用于存储唯一的 field_person_gh 值和对应的记录。字典的键是 field_person_gh,值是对应的字典记录。
遍历列表:对于 A 列表中的每个元素,如果 field_person_gh 已经存在,新的记录会覆盖旧记录,这样保证了最终保留的是每个 field_person_gh 的最后出现的记录。
转换为列表:将 latest_records 字典的值转换为一个列表,得到最终的去重结果。
运行后输出的 result 列表将只包含 field_person_gh 的唯一值,并保留其最后一次出现的记录。对于你的示例数据,输出将如下所示:
python[ {'field_person_gh': '78906529', 'field_manager_gh': '89634456', 'field_change_status': '修改成功', 'field_person_name': '张三', 'field_manager_name': '李四', 'field_operation_time': '2025-01-13 07:45:10', 'field_person_email': 'Jiao.Bai@luxshare-ict.com', 'field_manager_email': 'Zhouqian.Yang@luxshare-ict.com', 'field_person_status': '账户正常', 'field_manager_status': '账户正常'} ]
这里保留了 field_person_gh 为 '78906529' 的最后一次出现的记录。