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

Python中如何从带日期字典获取最新日期的win金额?

从带日期的字典数据中获取最新日期的Win金额

当然有可行的编程方式啦!咱们结合你给出的JSON结构,一步步实现这个需求:

首先,假设你已经通过json.loads()把源JSON转换成了Python字典,我们先补全一个完整的示例数据方便演示:

import json

# 模拟解析后的Python字典(对应你提供的JSON结构)
data = {
    "numbers": [
        {
            "lose": {"amount": "122.50"},
            "win": {"amount": "232.50"},
            "date": "2018-01-08"
        },
        {
            "lose": {"amount": "233.75"},
            "win": {"amount": "199.51"},
            "date": "2018-04-02"
        },
        {
            "lose": {"amount": "89.20"},
            "win": {"amount": "156.80"},
            "date": "2018-02-15"
        }
    ]
}

接下来,我们需要找到numbers列表中日期最新的条目。因为日期格式是YYYY-MM-DD,直接比较字符串就能得到正确的先后顺序,所以可以用max()函数配合key参数来快速定位:

# 找到日期最新的条目
latest_entry = max(data["numbers"], key=lambda x: x["date"])

# 提取对应的win金额,这里可以转成浮点数方便后续计算
win_amount = float(latest_entry["win"]["amount"])

print(f"最新日期{latest_entry['date']}对应的Win金额是:{win_amount}")

运行这段代码,输出结果就是:

最新日期2018-04-02对应的Win金额是:199.51

额外提醒

  • 如果numbers列表可能为空,建议先加个判断避免报错:
    if data["numbers"]:
        latest_entry = max(data["numbers"], key=lambda x: x["date"])
        win_amount = float(latest_entry["win"]["amount"])
        print(f"最新日期{latest_entry['date']}对应的Win金额是:{win_amount}")
    else:
        print("没有可用的数据条目")
    
  • 如果日期格式不是YYYY-MM-DD(比如是MM/DD/YYYY),那需要先把字符串转成datetime对象再比较,不过你的示例里是标准的ISO日期格式,直接比字符串就足够啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:02:34