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

如何在多层嵌套字典中获取med_dict的endDate最大值及指定键数据

嵌套字典操作:提取指定键数据与求endDate最大值

一、提取指定键'med_dict'的数据

要从多层嵌套字典中获取所有med_dict对应的数据,通过逐层遍历即可实现:

方法1:提取所有med_dict对象

# 遍历外层字典的所有值,取出每个值中的'med_dict'
all_med_dicts = [entry['med_dict'] for entry in Data.values()]

执行后all_med_dicts会得到包含两个字典的列表:[{0: {'endDate': '732', 'endTime': '89'}}, {0: {'endDate': '245', 'endTime': '222'}}]

方法2:提取med_dict内的具体明细

如果需要直接拿到med_dict里的实际数据(比如每个0对应的字典),可以再深入一层:

# 取出每个med_dict中0对应的明细字典
med_details = [entry['med_dict'][0] for entry in Data.values()]

结果为:[{'endDate': '732', 'endTime': '89'}, {'endDate': '245', 'endTime': '222'}]

通用场景(med_dict键不固定)

如果med_dict内的键不是固定的0,可以遍历其所有值:

# 提取med_dict下所有层级的数据
all_med_details = [med for entry in Data.values() for med in entry['med_dict'].values()]

二、获取med_dict['endDate']的最大值

注意endDate存储的是字符串类型,需要先转换为整数再进行数值比较:

基础实现(med_dict键固定为0)

# 收集所有endDate并转换为整数
end_date_values = [int(entry['med_dict'][0]['endDate']) for entry in Data.values()]
# 计算最大值
max_end_date = max(end_date_values)
print(max_end_date)  # 输出:732

通用实现(med_dict键不固定)

如果med_dict内有多个键,用嵌套遍历收集所有endDate:

end_date_values = [int(med['endDate']) for entry in Data.values() for med in entry['med_dict'].values()]
max_end_date = max(end_date_values)

核心思路

处理多层嵌套字典的关键是逐层拆解:从最外层字典开始,通过键访问下一层数据,结合列表推导式或循环遍历,收集目标数据后再进行后续操作(比如类型转换、求最大值)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:57:40