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 直接修改原列表。