You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从字典列表中移除指定键对应重复值的所有字典?

移除字典列表中指定name的所有条目

给定如下字典列表:

l = [{'name': 'Mike', 'age': 31},
     {'name': 'Peter', 'age': 29},
     {'name': 'Mike', 'age': 44}]

需要移除所有name为Mike的条目,最终得到仅包含Peter的列表。下面是几种高效的实现方式:

方法1:列表推导式(推荐)

这是Python中最简洁且可读性高的实现方式,直接遍历列表并筛选符合条件的元素:

filtered_list = [item for item in l if item['name'] != 'Mike']

执行后filtered_list的结果为:[{'name': 'Peter', 'age': 29}]

方法2:使用filter()函数

如果偏好函数式编程风格,可以用filter()配合匿名函数实现:

filtered_list = list(filter(lambda x: x['name'] != 'Mike', l))

结果与列表推导式一致,但前者在多数场景下的可读性和执行效率更优。

额外注意

如果列表中存在缺失name键的字典,为避免抛出KeyError,可以修改为如下写法:

filtered_list = [item for item in l if item.get('name') != 'Mike']

这样即使某个字典没有name键,也会被保留(item.get('name')返回None,None != 'Mike'结果为True)。

内容的提问来源于stack exchange,提问作者Mikael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:12:45