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

如何将含条件判断的多行Python代码转换为单行代码?

将含条件判断的多行Python代码转为单行列表推导式

原多行代码:

for k, v in FLOW_GROUPS.items():
    if k == '':
        [pd.Series(df_by_fulfillment_flow[v].sum(axis=1), name=k)]
    else:
        [pd.Series(df_by_fulfillment_flow[v].mean(axis=1), name=k)]

现有基础列表推导式:

[pd.Series(df_by_fulfillment_flow[v].sum(axis=1), name=k) for k, v in FLOW_GROUPS.items()]

添加条件判断后的单行代码:

只需在列表推导式的元素生成部分嵌入三元表达式,根据k的值选择对应的聚合方法即可:

[pd.Series(df_by_fulfillment_flow[v].sum(axis=1) if k == '' else df_by_fulfillment_flow[v].mean(axis=1), name=k) for k, v in FLOW_GROUPS.items()]

逻辑说明:

  • 三元表达式df_by_fulfillment_flow[v].sum(axis=1) if k == '' else df_by_fulfillment_flow[v].mean(axis=1)替代了原代码的分支判断,实现了根据k是否为空字符串选择求和或求均值的逻辑。
  • 整体保留列表推导式的结构,遍历FLOW_GROUPS.items()的同时完成条件判断与pd.Series对象的生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:55:28