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

Python查找矩阵首个最大值行列索引出现int不可迭代报错如何解决

错误原因
  • 直接报错的根源是代码中max(M[i][j])的写法错误:M[i][j]是单个整数,而max()函数必须传入可迭代对象才能计算最大值,因此触发int is not iterable的类型错误。
  • 额外的逻辑缺陷:原代码没有提前计算整个矩阵的全局最大值,即使修正语法问题也无法正确匹配到目标元素。
修复方案

先计算出整个二维矩阵的全局最大值,再按先行后列的顺序遍历矩阵,返回第一个匹配到最大值的坐标即可,修正后代码如下:

def matrix_max_index(M):
    # 计算全局最大值
    max_value = max(num for row in M for num in row)
    row_count = len(M)
    col_count = len(M[0])
    for i in range(row_count):
        for j in range(col_count):
            if M[i][j] == max_value:
                return (i, j)
效果验证

输入测试用例 M = [[0, 3, 2, 4], [2, 3, 5, 5], [5, 1, 2, 3]] 时,函数返回结果为(1,2),和预期结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:54:03