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

如何将Python多条件逻辑方法改写为单行返回语句?

解决方案

利用列表推导式嵌套三元表达式,可将逻辑压缩为单行返回语句,同时修正原代码的错误:

def falsify(leftover):
    return [num - 10 if 30 > num >= 20 else ('1' + str(num)[1:] if num >= 30 else num) for num in leftover]

逻辑解析:

  • 外层通过列表推导式遍历leftover中的每个元素num
  • 第一层三元判断:若30 > num >= 20,返回num - 10
  • 不满足时进入第二层三元判断:若num >= 30,将num转为字符串后截取索引1开始的部分,拼接前缀'1';否则直接返回原num

测试验证:

leftover1 = [19.7, 20.0, 28.5, 30.0, 30.7]
print('result', falsify(leftover1))

输出结果与示例完全一致:

result [19.7, 10.0, 18.5, '10.0', '10.7']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:50:22