Python实现二维列表转置与矩阵顺时针打印

竹里
竹里
发布时间:2026-10-13| 3人浏览过
原创

本文介绍在Python中如何实现二维列表的转置操作,包括标准转置与逆时针转置。通过具体代码示例,演示如何定义转置函数,并进一步结合转置逻辑解决矩阵从外向内顺时针打印数字的问题,提供完整的代码实现与参考。

Python二维列表标准转置实现

在Python编程中,处理二维列表(矩阵)的转置是一项常见任务。转置操作旨在将矩阵的行与列互换,即原矩阵中第i行第j列的元素变为新矩阵中第j行第i列的元素。


def transpose(self, matrix):
    new_matrix = []
    for i in range(len(matrix[0])):
      matrix1 = []
      for j in range(len(matrix)):
        matrix1.append(matrix[j][i])
      new_matrix.append(matrix1)
    return new_matrix

逆时针转置处理

除了标准的行列互换,有时还需要进行逆时针方向的转置处理。这通常涉及在标准转置的基础上,对结果列表进行额外的顺序调整,例如反转列表顺序,以满足特定的算法需求。


def transpose(self, matrix):
    new_matrix = []
    for i in range(len(matrix[0])):
      matrix1 = []
      for j in range(len(matrix)):
        matrix1.append(matrix[j][i])
      new_matrix.append(matrix1)
    return new_matrix[::-1]

以下通过具体示例展示相关实现。

矩阵顺时针打印算法示例

假设输入一个4x4的矩阵,要求按照从外向里以顺时针的顺序依次打印出每一个数字。例如,对于如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 打印结果应为:1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10。


# -*- coding:utf-8 -*-
class Solution:
  # matrix类型为二维列表,需要返回列表
  # matrix应该是列表组成的列表
  # 去掉首行,然后逆时针转置
  def printMatrix(self, matrix):
    # write code here
    result = []
    while matrix:
      result.extend(matrix.pop(0))
      if not matrix:
        break
      matrix = self.transpose(matrix)
    return result
  # 转置
  def transpose(self, matrix):
    new_matrix = []
    for i in range(len(matrix[0])):
      matrix1 = []
      for j in range(len(matrix)):
        matrix1.append(matrix[j][i])
      new_matrix.append(matrix1)
    return new_matrix[::-1]

上述内容展示了Python中二维列表转置及矩阵顺时针打印的实现方法,供开发者参考。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。