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 for Informatics 第11章 正则表达式(一)
Apr 21 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
Django处理多用户类型的方法介绍
May 18 Python
Python字符串的一些操作方法总结
Jun 10 Python
Django之路由层的实现
Sep 09 Python
将matplotlib绘图嵌入pyqt的方法示例
Jan 08 Python
python实现从ftp服务器下载文件
Mar 03 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
Python数据分析入门之数据读取与存储
May 13 Python
聊聊pytorch测试的时候为何要加上model.eval()
May 23 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连接access数据库
2008/03/27 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
Laravel下生成验证码的类
2017/11/15 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
js实现扫雷源代码
2020/11/27 Javascript
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
python实现堆栈与队列的方法
2015/01/15 Python
简单了解python单例模式的几种写法
2019/07/01 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
经理秘书找工作求职信
2013/12/19 职场文书
教师专业自荐书范文
2014/02/10 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
离婚协议书范本2014
2014/10/27 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
python爬虫selenium模块详解
2021/03/30 Python