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 24 Python
python模拟enum枚举类型的方法小结
Apr 30 Python
Python获取任意xml节点值的方法
May 05 Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 Python
Python实现矩阵加法和乘法的方法分析
Dec 19 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
Python中垃圾回收和del语句详解
Nov 15 Python
Django管理员账号和密码忘记的完美解决方法
Dec 06 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
python中return如何写
Jun 18 Python
详解scrapy内置中间件的顺序
Sep 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
一个好用的分页函数
2006/11/16 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
简单的HTML5初步入门教程
2015/09/29 HTML / CSS
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
市场专员岗位职责
2014/02/14 职场文书
中国好声音华少广告词
2014/03/17 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
iOS 16进一步确认,一共支持16款iPhone
2022/04/28 数码科技