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

如何在任意嵌套列表中获取各子列表的最大值?

提取嵌套列表中每个子列表的最大值

问题背景

我有一个多层嵌套的列表C11,需要获取每个最内层子列表中的最大值,并输出指定的嵌套格式。

原代码

C11 = [[[353.856161, 0.0, 0.0], [0.0, 0.0, 282.754301, 0.0]], [[0.0, 294.983702, 126.991664]]]

for i in range(0,len(C11)):
    C2 = max(C11[i])
print(C2)

当前输出

[[353.856161, 0.0, 0.0], [0.0, 294.983702, 126.991664]]

期望输出

[[[353.856161],[282.754301]], [[294.983702]]]

解决方案

原代码的问题在于:直接对C11[i]调用max()时,Python会按列表元素逐个比较(而非提取数值最大值),且未遍历到最内层子列表。要实现需求,需逐层遍历嵌套列表,对每个最内层数值列表计算最大值,再包装成单元素列表,最后按原结构组合。

用嵌套列表推导式可简洁实现:

C11 = [[[353.856161, 0.0, 0.0], [0.0, 0.0, 282.754301, 0.0]], [[0.0, 294.983702, 126.991664]]]

result = [[[max(sublist)] for sublist in mid_list] for mid_list in C11]
print(result)

代码解释

  • 最外层遍历C11中的每个中层列表mid_list
  • 中层遍历mid_list中的每个最内层数值列表sublist
  • 对每个sublist计算最大值,并用[max(sublist)]包装成单元素列表
  • 最终按原嵌套结构组合结果

执行后输出与期望一致:

[[[353.856161], [282.754301]], [[294.983702]]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 08:55:12