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

yipeiwu_com6年前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]]
转换为[[1,4,7],[2,5,8],[3,6,9]]
'''
 
'''
#方法一:默认列表值均初始为0,防止换为位置时,坐标越界
list1 = [[1,2,3],[4,5,6],[7,8,9]]
list2 = [[0,0,0],[0,0,0],[0,0,0]]
for i in range(3):
  for j in range(3):
    list2[j][i] = list1[i][j]
print(list2)
'''
 
'''
#方法二:互换位置,空列表插入值
list1 = [[1,2,3],[4,5,6],[7,8,9]]
list2 = [[],[],[]]
for i in range(3):
  for j in range(3):
    list2[j].insert(i,list1[i][j])
print(list2)
'''
 
'''
#方法三:行列互换
list1 = [[1,2,3],[4,5,6],[7,8,9]]
print([[list1[j][i] for i in range(3)] for j in range(3)])
'''
 
#方法四:取每行的第i列,即列转换为行
list1 = [[1,2,3],[4,5,6],[7,8,9]]
print([[row[i] for row in list1] for i in range(3)])

以上这篇Python:二维列表下标互换方式(矩阵转置)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈对yield的初步理解

如下所示: def go(): while True: data = 1 r = yield data # data是返回值,r是接收值 print("d...

Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例

本文实例讲述了Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作。分享给大家供大家参考,具体如下: 实例对象也可以实现闭包的功能,不过实例对象消耗的资源(内存)比闭包...

Python Pickle 实现在同一个文件中序列化多个对象

也是看别人代码才知道可以打开一个文件就可以把多个对象序列化到这个文件中。 with open('../raw_data/remap.pkl', 'wb') as f: pickle...

python 将json数据提取转化为txt的方法

如下所示: #-*- coding: UTF-8 -*- import json import pymysql import os import sys # 数据类型 # { #...

OpenCV-Python实现轮廓检测实例分析

OpenCV-Python实现轮廓检测实例分析

相比C++而言,Python适合做原型。本系列的文章介绍如何在Python中用OpenCV图形库,以及与C++调用相应OpenCV函数的不同之处。这篇文章介绍在Python中使用Open...