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

如何获取JSON列表中指定名称应用的最新元素?

获取指定名称的最新应用元素

没问题,这事儿其实挺简单的!你已经搞定了筛选指定名称应用的核心步骤,接下来只需要从筛选后的列表里挑出时间戳最大的那个应用就行——因为starttime是毫秒级的时间戳,数值越大代表启动时间越晚,也就是最新的应用。

方法一:直接用max()函数(最简洁)

你可以利用Python内置的max()函数,通过指定key参数来基于starttime比较元素:

# 先筛选出目标名称的应用
filtered_apps = [app for app in parsedjson['completedapps'] if app['name'] == "IE_Traitement_OA"]
# 找出starttime最大的最新应用
latest_app = max(filtered_apps, key=lambda app: app['starttime'])

这样latest_app就是你要找的最新应用元素了。

方法二:处理空列表的情况(更健壮)

如果有可能出现没有匹配到指定名称应用的情况,最好加个判断避免报错:

filtered_apps = [app for app in parsedjson['completedapps'] if app['name'] == "IE_Traitement_OA"]
if filtered_apps:
    latest_app = max(filtered_apps, key=lambda app: app['starttime'])
else:
    # 这里可以根据需求处理“无匹配应用”的场景
    print("没有找到名称为IE_Traitement_OA的应用")
    latest_app = None

补充:关于用submitdate的情况

如果非要用submitdate字符串来比较,需要先把它转换成datetime对象,步骤会繁琐一点,示例如下:

from datetime import datetime

filtered_apps = [app for app in parsedjson['completedapps'] if app['name'] == "IE_Traitement_OA"]
if filtered_apps:
    # 定义日期格式,和submitdate的格式匹配
    date_format = "%a %b %d %H:%M:%S %Z %Y"
    latest_app = max(filtered_apps, key=lambda app: datetime.strptime(app['submitdate'], date_format))

不过还是更推荐用starttime,毕竟时间戳直接比较数值就好,不用额外做格式转换~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:12:36