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

yipeiwu_com5年前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使用super()出现错误解决办法

python使用super()出现错误解决办法 当我们在python的子类中调用父类的方法时,会用到super(),不过我遇到了一个问题,顺便记录一下。 比如,我写了如下错误代码:...

python之super的使用小结

为什么需要super 在python没有引入super之前, 如果需要在子类中引用父类的方法, 一般写法如下: class Father: def whoami(self):...

python基础教程项目三之万能的XML

这个项目的名称与其叫做万能的XML不如叫做自动构建网站,根据一份XML文件,生成对应目录结构的网站,不过只有html还是太过于简单了,如果要是可以连带生成css那就比较强大了。这个有待后...

判断网页编码的方法python版

在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能。我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取。 但是在抓取过程中会...

Python简单过滤字母和数字的方法小结

本文实例讲述了Python简单过滤字母和数字的方法。分享给大家供大家参考,具体如下: 实例1 crazystring = 'dade142.!0142f[., ]ad' # 只保留数...