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 实现二维列表转置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • numpy.transpose()实现数组的转置例子

    说到转置操作,顺便提及矩阵与数组的区别: 矩阵:数学里的概念,其元素只能是数值,这也是区别于数组的根本所在 数组:计算机中的概念,代表一种数据组织.存储方式,其元素可以是数字.也可以是字符 数组的转置操作,是借鉴了线性代数中矩阵的转置操作.将行与列对调,即第一行变成第一列-..或第一列变成第一行-..的操作即使转置操作. 1. 多维数组的转置 import numpy as np test = np.array([[12,4,7,0],[3,7,45,81]]) test # 以下为test输出

  • python 实现矩阵上下/左右翻转,转置的示例

    python中没有二维数组,用一个元素为list的list(matrix)保存矩阵,row为行数,col为列数 1. 上下翻转:只需要把每一行的list交换即可 for i in range(row // 2): matrix[i], matrix[row-1-i] = matrix[row-1-i], matrix[i] 2. 左右翻转:需要逐个交换元素 for m in matrix: for j in range(col // 2): m[j], m[col-1-j] = m[col-1-

  • python list转置和前后反转的例子

    list/tuple转置: 以二维grid[][]为例: grid = [[row[i] for row in grid] for i in range(len(grid[0]))] 效果如图: list/tuple反转: for i in range(10): # fanzhuan grid[i].reverse() 效果如图: 以上这篇python list转置和前后反转的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python 使用Numpy对矩阵进行转置的方法

    如下所示: matrix.py #!/usr/bin/python # -*- encoding:UTF-8-*- import pprint import numpy as np matrix = [[1,2],[3,4],[5,6]] print('列表:') pprint.pprint(matrix) matrix_2 = np.matrix(matrix) print('原矩阵:') pprint.pprint(matrix_2) matrix_transpose = np.transp

  • 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

  • Python将二维列表list的数据输出(TXT,Excel)

    利用Python处理数据时,处理完成后输出结果为二维的列表,如果我们想把这个列表输出到Excel中形成格式化的数据,其实和输出到TXT文件大同小异. 比如,有一个二维列表 我们要输出到Excel: 代码如下: list1 = [['张三','男','未婚',20],['李四','男','已婚',28],['小红','女','未婚',18],['小芳','女','已婚',25]] output = open('data.xls','w',encoding='gbk') output.write('

  • python中对二维列表中一维列表的调用方法

    python调用二维列表中的一维列表的方法: 访问二维列表中的一维列表可以用下标法"列表名(数字)"的方式获取到一维列表所有元素 x = [[23, 25, 15, 69, 48], [53, 98, 87, 478, 365], [231, 55, 653, 589, 545, 123]] print(x[0]) 执行结果: 内容扩展: 二维列表转一维列表 from compiler.ast import flatten a=[[1,2],[5,6]] print(flatten(a

  • Python:二维列表下标互换方式(矩阵转置)

    我就废话不多说了,直接上代码吧! #!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: 617349013@qq.com @software: PyCharm @file: 二维列表下标互换(矩阵转置).py @time: 2018/12/30 10:24 """ ''' 矩阵转置 将[[1,2,3],[4,5,6],[7,8,9]]

  • Python中max函数用于二维列表的实例

    最近写一个和二维列表有关的算法时候发现的 当用max求二维列表中最大值时,输出的结果是子列表首元素最大的那个列表 测试如下 c=[[1,2,-1],[0,5,6]] a=[[0,3,-1],[1,4,6]] print(max(c),max(a)) 结果是这样的 [1, 2, -1] [1, 4, 6] 以上这篇Python中max函数用于二维列表的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python中max函数用法实例分析 Py

  • python创建与遍历List二维列表的方法

    python 创建List二维列表 lists = [[] for i in range(3)] # 创建的是多行三列的二维列表 for i in range(3): lists[0].append(i) for i in range(5): lists[1].append(i) for i in range(7): lists[2].append(i) print("lists is:", lists) # lists is: [[0, 1, 2], [0, 1, 2, 3, 4],

  • python实现把二维列表变为一维列表的方法分析

    本文实例讲述了python实现把二维列表变为一维列表的方法.分享给大家供大家参考,具体如下: c = [[1,2,3], [4,5,6], [7,8,9]] 1.用列表推导式 >>> [n for a in c for n in a ] [1, 2, 3, 4, 5, 6, 7, 8, 9] 2.用嵌套循环展开 >>> result=[] >>> for a in c: for n in a: result.append(n) result #resu

  • python二维列表一维列表的互相转换实例

    二维列表转一维列表 from compiler.ast import flatten a=[[1,2],[5,6]] print(flatten(a)) 结果:[1, 2, 5, 6] 一维列表转二维列表 a=[1,2,5,6] b=[3,4,8,9] print(zip(a,b)) 结果: [(1, 3), (2, 4), (5, 8), (6, 9)] 以上这篇python二维列表一维列表的互相转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python 去除二维数组/二维列表中的重复行方法

    之前提到去除一维数组中的重复元素用unique()函数,如果要去除二维数组中的重复行该怎么操作呢? import numpy as np arr = np.array([[1, 2],[3, 4],[5, 6],[7, 8],[3, 4],[1, 2]]) print(np.array(list(set([tuple(t) for t in arr])))) 输出: [[1 2] [3 4] [5 6] [7 8]] 如果是二维列表,列表中每个元素还是列表 list2=list(set([tup

  • python中的二维列表实例详解

    1. 使用输入值初始化列表 nums = [] rows = eval(input("请输入行数:")) columns = eval(input("请输入列数:")) for row in range(rows): nums.append([]) for column in range(columns): num = eval(input("请输入数字:")) nums[row].append(num) print(nums) 输出结果为: 请

随机推荐