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

yipeiwu_com7年前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设计】。

相关文章

python使用matplotlib绘图时图例显示问题的解决

python使用matplotlib绘图时图例显示问题的解决

前言 matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。在使用Python matplotlib库绘制数据图时,需要使用图例标注数据类别,但是传...

python使用tornado实现登录和登出

本文实例为大家分享了tornado实现登录和登出的具体代码,供大家参考,具体内容如下 main.py如下: import tornado.httpserver import torn...

Python编写Windows Service服务程序

Python编写Windows Service服务程序

 如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模...

设计模式中的原型模式在Python程序中的应用示例

原型模式: 原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式本质就是克隆对象,所以在对象初始化操作比较复杂的情况下,很实用,能大大降低耗时,提高性能,因为“不用重...

python用装饰器自动注册Tornado路由详解

第一个版本 在这个版本中,首先创建了 RouterConfig 对象,其构造方法创建了 tornado.web.Application() 并赋值为 self.Application ,...