Python 移除列表中特定键值对

学习笔记作者:admin日期:2025-05-26点击:30

摘要:介绍如何在 Python 中移除列表中每个字典的指定键值对,提供两种解决方案。

问题描述

      需要从列表中的每个字典中移除指定的键值对,例如 'tablename' 和 'id'。

解决方案

方法 1:列表推导式 + 字典推导式

data = [
    {'消息时间': '2025-03-14 13:50:40', '我方员工': None, '群名': '外部群:iA9OmQ', '消息类型': '企业微信外部群聊_文本消息', '消息方向': '收', '消息内容': '什么时候可以送样', 'tablename': 'qywx', 'id': '272'},
    {'消息时间': '2025-03-14 13:50:58', '我方员工': None, '群名': '外部群:iA9OmQ', '消息类型': '企业微信外部群聊_文本消息', '消息方向': '收', '消息内容': '@王志伟', 'tablename': 'qywx', 'id': '273'}
]

result = [{k: v for k, v in item.items() if k not in ['tablename', 'id']} for item in data]
print(result)

方法 2:循环逐个修改原列表

data = [
    {'消息时间': '2025-03-14 13:50:40', '我方员工': None, '群名': '外部群:iA9OmQ', '消息类型': '企业微信外部群聊_文本消息', '消息方向': '收', '消息内容': '什么时候可以送样', 'tablename': 'qywx', 'id': '272'},
    {'消息时间': '2025-03-14 13:50:58', '我方员工': None, '群名': '外部群:iA9OmQ', '消息类型': '企业微信外部群聊_文本消息', '消息方向': '收', '消息内容': '@王志伟', 'tablename': 'qywx', 'id': '273'}
]

for item in data:
    item.pop('tablename', None)
    item.pop('id', None)

print(data)

总结

      两种方法均可实现移除指定键值对的功能,方法 1 生成新列表,方法 2 直接修改原列表。

上一篇      下一篇