欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

列表 根据 field_person_gh 的值,如果有相同的值,就移除到这个元素,保留的是最后一个元素 AG chatgpt 有大用 有大大用

为了根据 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)

代码解析

  1. 创建一个字典latest_records 用于存储唯一的 field_person_gh 值和对应的记录。字典的键是 field_person_gh,值是对应的字典记录。

  2. 遍历列表:对于 A 列表中的每个元素,如果 field_person_gh 已经存在,新的记录会覆盖旧记录,这样保证了最终保留的是每个 field_person_gh 的最后出现的记录。

  3. 转换为列表:将 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' 的最后一次出现的记录。


普通分类: