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

如何使用for循环获取嵌套列表(矩阵)的所有元素

原有代码问题

你当前写的逻辑无法遍历全部元素:M[i][i] 是取行索引、列索引完全相等的对角线元素,你的示例矩阵是2行4列结构,循环中i只会取0、1两个值,最终仅能输出M[0][0]、M[1][1]两个值;如果碰到列数少于行数的矩阵,这种写法还会直接触发索引越界报错。

正确遍历实现

根据不同的使用需求,选对应写法即可:

  • 仅需要获取元素值,不需要位置信息
    最易读的写法是双层循环,外层逐行遍历,内层遍历当前行的每一个元素:

    M = [[0,1,0,1],[0,0,1,0]]
    for row in M:
        for element in row:
            print(element)
    

    执行后会按行优先的顺序,依次输出全部8个元素:0、1、0、1、0、0、1、0。

  • 遍历过程中需要同时拿到元素对应的行号、列号
    用内置函数enumerate()可以同时获取索引和对应值,不用手动写range(len())计数:

    M = [[0,1,0,1],[0,0,1,0]]
    for row_index, row in enumerate(M):
        for col_index, element in enumerate(row):
            print(f"位置({row_index},{col_index})的元素值为:{element}")
    
  • 需要把嵌套列表的所有元素扁平化存为一维列表
    用列表推导式可以一行完成:

    M = [[0,1,0,1],[0,0,1,0]]
    all_elements = [element for row in M for element in row]
    # 最终all_elements值为 [0, 1, 0, 1, 0, 0, 1, 0]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:12:23