python对矩阵进行转置的2种处理方法


Posted in Python onJuly 17, 2019

方法一 :使用常规的思路

def transpose(M):
  # 初始化转置后的矩阵
  result = []
  # 获取转置前的行和列
  row, col = shape(M)
  # 先对列进行循环
  for i in range(col):
    # 外层循环的容器
    item = [] 
    # 在列循环的内部进行行的循环
    for index in range(row):
      item.append(M[index][i])
    result.append(item)
  return result

思路:矩阵的转置就是从行变成列, 列变成行

  • 先定义一个最终存放矩阵的容器
  • 先对列进行循环i,并定义一个临时数组用于存放数据,在每次列的循环内部,再次对行进行循环j,取第M[j][i]个元素存入一个临时数组中
  • 在每次列循环完毕,将临时数组存入最终数组中
  • 当列循环完毕, 最终数组就是矩阵的转置

方法二:使用zip解包

def transpose(M):
  # 直接使用zip解包成转置后的元组迭代器,再强转成list存入最终的list中
  return [list(row) for row in zip(*M)]

思路:

zip 解包后,返回一个将多个可迭代对象组合成一个元组序列的迭代器,正如:

my_zip = list(zip(['a', 'b', 'c'], [1, 2, 3])) 
print(my_zip) # [('a', 1), ('b', 2), ('c', 3)]

在每次循环中将元组强转成list 并存入总list中

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用logging模块代替print(logging简明指南)
Jul 09 Python
python检测某个变量是否有定义的方法
May 20 Python
Python调用C++程序的方法详解
Jan 24 Python
django中静态文件配置static的方法
May 20 Python
Python 对输入的数字进行排序的方法
Jun 23 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
Apr 15 Python
python程序变成软件的实操方法
Jun 24 Python
python中对数据进行各种排序的方法
Jul 02 Python
anaconda中更改python版本的方法步骤
Jul 14 Python
python实现加密的方式总结
Jan 19 Python
python用分数表示矩阵的方法实例
Jan 11 Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 #Python
纯python进行矩阵的相乘运算的方法示例
Jul 17 #Python
python中update的基本使用方法详解
Jul 17 #Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 #Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 #Python
python实现点击按钮修改数据的方法
Jul 17 #Python
python 批量添加的button 使用同一点击事件的方法
Jul 17 #Python
You might like
php下的权限算法的实现
2007/04/28 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
eval与window.eval的差别分析
2011/03/17 Javascript
Json和Jsonp理论实例代码详解
2013/11/15 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
2016/01/25 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
angular2实现统一的http请求头方法
2018/08/13 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
python字符串连接方式汇总
2014/08/21 Python
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Python缩进和冒号详解
2016/06/01 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
基于python实现简单日历
2018/07/28 Python
python实现自动解数独小程序
2019/01/21 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
Under Armour安德玛荷兰官网:美国高端运动科技品牌
2019/07/10 全球购物
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
最新大学生自我评价
2013/09/24 职场文书
幼儿园园长自我鉴定
2013/10/22 职场文书
大专生简历的自我评价
2013/11/26 职场文书
证婚人经典证婚词
2014/01/09 职场文书
党员承诺书内容
2014/03/26 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
放牛班的春天观后感
2015/06/01 职场文书