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

如何获取二维数组中每行的最大值?附示例二维数组

如何获取二维数组中每行的最大值?

嘿,这个问题我经常碰到,给你几个实用的解决思路,结合你给出的二维数组例子来演示~

方法1:Python内置函数(简洁直观,适合小到中等规模数组)

直接用列表推导式搭配max()函数,这是最常用的方式,代码短还容易理解:

# 你的二维数组(补全了最后一行的省略部分,假设是类似结构)
arr = [
    [0.0, 0.24320757858085434, 0.14893361727523413, 0.29786723455046826, 0.18838778030301612, 0.12160378929042717],
    [0.23717478210768014, 0.0, 0.16770789675478251, 0.20539938644228997, 0.25981195646349819, 0.1299059782317491],
    [0.21681956134183847, 0.250361664212574, 0.0, 0.23178986094050727, 0.16390018248131957, 0.13712873102376066],
    [0.2933749527592357, 0.20744741852633861, 0.15681550844086434, 0.0, 0.18554661183269694, 0.15681550844086434],
    [0.2030581, 0.189234, 0.276543, 0.0, 0.221098, 0.110066]
]

# 遍历每行取最大值
row_maxes = [max(row) for row in arr]
print(row_maxes)

运行后会得到每行最大值组成的列表:
[0.29786723455046826, 0.25981195646349819, 0.250361664212574, 0.2933749527592357, 0.276543]

方法2:使用NumPy库(高效处理大规模数组)

如果你的二维数组非常大,用NumPy会更高效,而且语法也很简洁:

import numpy as np

# 转成NumPy数组
arr_np = np.array(arr)
# axis=1 表示沿着行的方向取最大值
row_maxes_np = arr_np.max(axis=1)
print(row_maxes_np)

# 要是需要转成普通Python列表,用tolist()
print(row_maxes_np.tolist())

额外注意事项

  • 如果数组里可能存在空行,直接用max()会报错,可以加个判断处理:
    row_maxes = [max(row) if row else None for row in arr]
    
    这样空行会返回None,避免程序崩溃。
  • 确保每行里的元素都是可比较的数值类型(比如int、float),不然max()会抛出类型错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:59:33