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获取外网ip地址的方法总结
Jul 02 Python
Python抓取框架 Scrapy的架构
Aug 12 Python
python 读取excel文件生成sql文件实例详解
May 12 Python
Python配置mysql的教程(推荐)
Oct 13 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
Python 把序列转换为元组的函数tuple方法
Jun 27 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
python线程定时器Timer实现原理解析
Nov 30 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 Python
深入理解python多线程编程
Apr 18 Python
Python 内置函数速查表一览
Jun 02 Python
python3中apply函数和lambda函数的使用详解
Feb 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
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
python实现排序算法解析
2018/09/08 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
基于python的Paxos算法实现
2019/07/03 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
大学生自我鉴定
2013/12/16 职场文书
小学二年级学生评语
2014/04/21 职场文书
英语专业毕业生求职信
2014/05/24 职场文书
2014年平安夜寄语
2014/12/08 职场文书
通知范文怎么写
2015/04/16 职场文书
MySQL详细讲解变量variables的用法
2022/06/21 MySQL