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

如何获取字典内层嵌套列表中各键对应的最大值列表?

解决字典中每个键对应嵌套列表的最大值收集问题

嘿,我来帮你搞定这个问题!先看你的需求:从字典每个键对应的嵌套列表里提取最大值,把这些最大值组成一个列表。你的示例里,mydict每个值都是包含单元素子列表的列表,期望结果是[9,6,3]。

为什么你的原有代码不对?

你之前写的代码:

result = max(map(max, i) for i in worksheet.values())

问题出在最外层的max()函数——它会把生成器里的所有最大值(也就是每个键对应的9、6、3)再取一次整体的最大值,所以最终只返回9,而不是你想要的列表。

正确的解决方案

我们需要做的是遍历每个键对应的值,计算该值的最大值,然后把这些结果收集成列表,有两种简单的实现方式:

方式1:列表推导式(最直观)

mydict = { "day1": [[9],[2],[3]], "day2": [[4],[5],[6]], "day3": [[3],[2],[1]] }
result = [max(map(max, value)) for value in mydict.values()]
print(result)  # 输出: [9, 6, 3]

拆解一下逻辑:

  • 对字典里的每个value(比如[[9],[2],[3]]),先用map(max, value)遍历每个子列表,取出子列表的最大值,得到[9, 2, 3]
  • 再对这个中间列表用max(),得到该键对应的最终最大值
  • 列表推导式会把所有键对应的最大值自动收集成列表

方式2:生成器表达式转列表

如果你更习惯生成器的写法,也可以这样:

result = list(max(map(max, v)) for v in mydict.values())

这样就能得到你想要的[9,6,3]啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:54:06