python 实现二维列表转置

yipeiwu_com6年前Python基础

python 二维列表转置

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

python 二维列表逆时针转置

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]

例子:

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 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设计】。

相关文章

浅谈scrapy 的基本命令介绍

如下所示: scrapy stratproject projectname  ##创建一个项目 scrapy genspider myspidername fider ...

Python3里的super()和__class__使用介绍

子类里访问父类的同名属性,而又不想直接引用父类的名字,因为说不定什么时候会去修改它,所以数据还是只保留一份的好。其实呢,还有更好的理由不去直接引用父类的名字,参见 Python's su...

Python制作exe文件简单流程

Python制作exe文件简单流程

一:什么是exe? exe是Windows环境中的文件扩展名之一,它是一个可执行文件,虽然扩展程序在一般情况下是隐藏的,但是我们可以通过取消选中资源管理器文件夹的高级设置中的“不显示已注...

用Python进行一些简单的自然语言处理的教程

本月的每月挑战会主题是NLP,我们会在本文帮你开启一种可能:使用pandas和python的自然语言工具包分析你Gmail邮箱中的内容。 NLP-风格的项目充满无限可能: &nbs...

python下函数参数的传递(参数带星号的说明)

函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析先看第一个问题,在python中函数参数的定义主要有四种方式: 1.F(arg1,ar...