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中使用items()方法返回字典元素对的教程
May 21 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
简单谈谈python基本数据类型
Sep 26 Python
python requests post多层字典的方法
Dec 27 Python
Python实现查找二叉搜索树第k大的节点功能示例
Jan 24 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
Python pandas用法最全整理
Aug 04 Python
python logging通过json文件配置的步骤
Apr 27 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
Feb 02 Python
python爬虫请求库httpx和parsel解析库的使用测评
May 10 Python
python开发制作好看的时钟效果
May 02 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警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
yii实现CheckBox复选框在同一行显示的方法
2014/12/03 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
将HTML自动转为JS代码
2006/06/26 Javascript
js输出列表实现代码
2010/09/12 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
js中的闭包实例展示
2018/11/01 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
Python3处理HTTP请求的实例
2018/05/10 Python
python实现转圈打印矩阵
2019/03/02 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
Java里面如何创建一个内部类的实例
2015/01/19 面试题
采购文员岗位职责
2013/11/20 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
python scipy 稀疏矩阵的使用说明
2021/05/26 Python