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

如何按column-major order遍历二维列表?已有row-major order遍历代码参考

列优先(column-major order)遍历二维列表实现

列优先的实现逻辑刚好和你掌握的行优先遍历相反,外层循环先遍历列索引,内层循环遍历行索引,就能按列逐个访问元素了。

规则矩形二维列表实现(所有行长度一致)

如果你的二维列表每行长度都相同,直接用下面的代码即可:

max_col = len(matrix[0])
# 外层遍历列
for col in range(max_col):
    # 内层遍历行
    for row in range(len(matrix)):
        print(matrix[row][col])
    # 每列打印完换行
    print('\n')

不规则二维列表适配(每行长度不同)

如果存在部分行更短的情况,需要先计算最大列数,同时加判断避免索引越界:

# 先计算所有行的最大长度作为总列数
max_col = max(len(row) for row in matrix)
for col in range(max_col):
    for row in range(len(matrix)):
        # 仅当当前行存在对应列时才访问
        if col < len(matrix[row]):
            print(matrix[row][col])
    print('\n')

简洁语法实现

针对规则矩形二维列表,你也可以用Python内置的zip函数更简洁地实现列优先遍历:

# zip(*matrix)会自动按列重组二维列表
for col in zip(*matrix):
    for item in col:
        print(item)
    print('\n')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:24:03