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

如何根据阈值提取字典列表中的日期?排查函数无返回值问题

修复提取价格超阈值日期的Python函数

正确实现代码

def get_dates(prices, threshold):
    return [item['date'] for item in prices if item['price'] > threshold]


prc = [
    { 'price': 1279.79, 'date': '2020-01-01' },
    { 'price': 139.01, 'date': '2020-01-02' },
    { 'price': 134.3, 'date': '2020-01-03' },
    { 'price': 120.99, 'date': '2020-01-04' }
]

# 调用测试
result = get_dates(prc, 130.0)
print(result)  # 输出: ['2020-01-01', '2020-01-02', '2020-01-03']

原代码的问题分析

  • 缺少返回语句:原函数仅定义了推导式,但未用return返回结果,调用后自然无输出。
  • 遍历逻辑错误:prices是字典组成的列表,直接for k,v in prices会报错,需遍历每个字典元素,再提取内部的price和date字段。
  • 条件判断错误:原代码写死了threshold>130,既未使用传入的阈值参数,还搞反了判断逻辑——需求是筛选价格超过阈值的条目,即item['price'] > threshold。
  • 推导式类型错误:需求是提取日期列表,无需生成字典,使用列表推导式更贴合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 16:50:22