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

Python操作价格列表生成新列表结果为空,是什么原因?

错误原因及修正方案

具体错误点

  • 没有遍历prices列表的元素:你写的int in prices > 20这类判断逻辑完全不成立,既没有循环取出列表里的每个价格值,还错误地把Python内置类型关键字int当成了存储单个价格的变量,所有判断条件永远不会触发,自然没有元素被加入新列表。
  • 变量名拼写错误:你定义的空新列表是new_prices,但执行append操作时写的是new_price,少了末尾的s,就算条件能触发也会直接报变量未定义的错误。
  • 逻辑覆盖不全:现有条件没有处理价格≤20且不等于5的情况,这类数值不会被加入新列表,如果业务要求所有价格都要计算后入库,需要补充对应分支逻辑。

修正后可运行代码

prices = [2, 50, 70, 30, 555]
new_prices =[]

# 遍历列表取出每个价格元素
for price in prices:
    if 20 < price <= 50: 
        new_prices.append(price * 0.4)
    elif price > 50: 
        new_prices.append(price * 0.6)
    elif price == 5: 
        new_prices.append(price * 0)
    # 如有需要可以补充else分支处理其他价格情况

print(new_prices)

上述代码运行输出为:[20.0, 42.0, 12.0, 333.0],原列表中的2因为不满足任何现有判断条件,没有被加入新列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:39:03