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

实现二维矩阵90度右旋转的嵌套for循环是否有更优写法?

二维矩阵向右旋转90度实现说明

你当前编写的for循环代码已经可以正确实现二维矩阵向右旋转90度的效果,完全匹配你给出的示例要求。

效果验证

拿你给出的示例矩阵测试代码:

rotated = []
# 你给出的示例原矩阵
matrix=[[2,3,4,5],[7,6,8,9]]

for i in range(len(matrix[0])):
    rotated.append([])
    for j in range(len(matrix) - 1, -1, -1):
        rotated[i].append(matrix[j][i])
print(rotated)

运行输出结果为 [[7, 2], [6, 3], [8, 4], [9, 5]],和你贴的旋转后效果完全一致。

实现逻辑说明

  • 外层循环遍历原矩阵的每一列:原矩阵的列数 = 旋转后矩阵的行数
  • 内层循环倒序遍历原矩阵的每一行:将原矩阵对应列的元素从下到上依次取出,作为旋转后矩阵对应行的元素

精简写法参考

你也可以用列表推导式实现同样的效果,代码更简洁:

matrix=[[1,2,3],[4,5,6]]
rotated = [[matrix[j][i] for j in range(len(matrix)-1, -1, -1)] for i in range(len(matrix[0]))]
print(rotated)

注意事项

运行前请确保你输入的原矩阵是规则二维矩阵,也就是每一行的元素长度都相等,否则会出现索引异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:15:03