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在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
Feb 13 Python
Python切片操作深入详解
Jul 27 Python
python 保存float类型的小数的位数方法
Oct 17 Python
python仿抖音表白神器
Apr 08 Python
通过实例学习Python Excel操作
Jan 06 Python
python 实现线程之间的通信示例
Feb 14 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
解决reload(sys)后print失效的问题
Apr 25 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
Jul 03 Python
python3将变量输入的简单实例
Aug 19 Python
python海龟绘图之画国旗实例代码
Nov 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
PHP编程最快明白(第一讲 软件环境和准备工作)
2010/10/25 PHP
php中的静态变量的基本用法
2014/03/20 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
12个非常有创意的JavaScript小游戏
2010/03/18 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
解决js图片加载时出现404的问题
2020/11/30 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
python在命令行下使用google翻译(带语音)
2014/01/16 Python
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
python导入时小括号大作用
2017/01/10 Python
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
Python中一般处理中文的几种方法
2019/03/06 Python
Python自定义一个异常类的方法
2019/06/27 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
《乡下孩子》教学反思
2014/04/17 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
奥运会口号
2014/06/13 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
2016年校长新年寄语
2015/08/17 职场文书
2019年年中职场激励人心语录30条
2019/08/07 职场文书