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

如何用Python列表推导式实现双重if条件的筛选逻辑?

带双重条件的Python列表推导式写法

直接把原循环的两个if条件按顺序放到列表推导式中即可,对应代码如下:

a = ["apple", "banana", "cherry", "kiwi", 'mango']
c = [b for b in a if 'a' in b if b != 'apple']
print(c)

执行结果和原代码一致:

['banana', 'mango']

逻辑对应说明

原循环的嵌套判断结构,在列表推导式中可以直接转化为连续的两个if判断,顺序和原循环的判断逻辑保持一致,效果完全等价。你也可以把两个条件用and合并成一个判断,写法更简洁:

c = [b for b in a if 'a' in b and b != 'apple']

两种写法都能得到正确结果,连续if的写法更贴近原循环的嵌套结构,and合并的写法则更紧凑。

内容的提问来源于stack exchange,提问作者Loh Boon How

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 03:22:02