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设计模式之观察者模式实例
Apr 26 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
Jul 19 Python
numpy数组之存取文件的实现示例
May 24 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
python原类、类的创建过程与方法详解
Jul 19 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
Python3监控疫情的完整代码
Feb 20 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
Python yield的用法实例分析
Mar 06 Python
Windows 平台做 Python 开发的最佳组合(推荐)
Jul 27 Python
python实现画图工具
Aug 27 Python
pandas数值排序的实现实例
Jul 25 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 读取shell管道传输过来的内容
2010/03/01 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
2017/02/08 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
详解JSON.stringify()的5个秘密特性
2020/05/26 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
Python执行时间的计算方法小结
2017/03/17 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
python复制文件到指定目录的实例
2018/04/27 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
python微信公众号之关注公众号自动回复
2018/10/25 Python
举例讲解Python常用模块
2019/03/08 Python
python实现滑雪游戏
2020/02/22 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
成人大专自我鉴定范文
2013/10/19 职场文书
小型女装店的创业计划书
2014/01/09 职场文书
公司晚会主持词
2014/03/22 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
在校证明模板
2015/06/17 职场文书
单位更名证明
2015/06/18 职场文书
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers