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编写Linux系统守护进程实例
Feb 03 Python
轻松理解Python 中的 descriptor
Sep 15 Python
python实现二叉查找树实例代码
Feb 08 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
Python中的取模运算方法
Nov 10 Python
Python类装饰器实现方法详解
Dec 21 Python
Python发展简史 Python来历
May 14 Python
简单了解python 邮件模块的使用方法
Jul 24 Python
python入门之基础语法学习笔记
Feb 08 Python
Python3标准库glob文件名模式匹配的问题
Mar 13 Python
keras 自定义loss层+接受输入实例
Jun 28 Python
简单的命令查看安装的python版本号
Aug 28 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
建立动态的WML站点(二)
2006/10/09 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
Yii操作数据库的3种方法
2014/03/11 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
AngularJS内置指令
2015/02/04 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
2020/05/27 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
消防器材管理制度
2014/01/28 职场文书
安全教育感言
2014/03/04 职场文书
品牌宣传方案
2014/03/21 职场文书
质量标语大全
2014/06/12 职场文书
空气环保标语
2014/06/12 职场文书
毕业赠语大全
2015/06/23 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers