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

如何在Python中基于多个键条件过滤字典列表?

如何在Python中基于多个键条件过滤字典列表?

嘿,我来帮你搞定这个问题!你已经用列表推导式实现了单条件过滤,其实要添加多条件非常简单,完全可以用Pythonic的方式轻松解决~

你只需要在列表推导式的判断部分,把多个条件用逻辑运算符and连接起来,就能筛选出同时满足所有条件的条目。针对你的需求,代码可以写成这样:

data = [
    {"name": "Atif", "age": 25, "city": "Delhi"},
    {"name": "Shahid", "age": 30, "city": "Gujrat"},
    {"name": "Soumya", "age": 25, "city": "Bihar"},
    {"name": "Rounak", "age": 22, "city": "Delhi"}
]

# 同时满足age=25和city=Delhi的条件
filtered_data = [entry for entry in data if entry["age"] == 25 and entry["city"] == "Delhi"]
print(filtered_data)

运行这段代码后,你会得到预期的结果:

[{"name": "Atif", "age": 25, "city": "Delhi"}]

如果之后你的过滤条件变得更复杂,或者需要重复使用这个逻辑,还可以把条件封装成一个函数,再配合filter()函数来实现,这样代码可读性会更好:

def meets_conditions(entry):
    return entry["age"] == 25 and entry["city"] == "Delhi"

filtered_data = list(filter(meets_conditions, data))

不过在这种简单的场景下,列表推导式通常是更直观、更受Python社区推崇的写法哦。

备注:内容来源于stack exchange,提问作者Soumya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 09:49:36