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

如何用Python单列表推导式实现数值条件调整(无需函数)

单列表推导式实现数值调整需求

原始列表示例

original_list = [20,10,15,56,80,200,47,12, 4,70,...]

需求说明

将列表中小于50的数值提高20%,其余数值保持不变,且维持原列表顺序,能否仅通过单列表推导式实现?

你尝试的错误写法

revised_list =[x*1.2 for x in original_list if x < 50 else y for y in original_list]

正确解法

你的写法逻辑混乱,嵌套了两次列表遍历,导致元素重复且逻辑关联错误。正确的单列表推导式写法如下:

revised_list = [x * 1.2 if x < 50 else x for x in original_list]

逻辑说明

这个推导式会逐个遍历original_list中的每个元素x:

  • 当x < 50时,计算x * 1.2作为新元素
  • 否则直接保留原元素x
    完全满足需求,既没有使用额外函数,也维持了原列表的顺序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:10:14