广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何进行Python矩阵转置中的二维数组的实际操作
  • 935
分享到

如何进行Python矩阵转置中的二维数组的实际操作

2023-06-17 15:06:18 935人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本篇文章给大家分享的是有关如何进行python矩阵转置中的二维数组的实际操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如果你对Python矩阵转置的实际应用操作方案的转置不

本篇文章给大家分享的是有关如何进行python矩阵转置中的二维数组的实际操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

如果你对Python矩阵转置的实际应用操作方案的转置不知道如何进行下一步时,你就你需要转置一个二维数组,将Python矩阵转置的行列互换.这样就可以完成你所需要的应用操作。

你需要转置一个二维数组,将行列互换,讨论:你需要确保该数组的行列数都是相同的.比如:

arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]

列表递推式提供了一个简便的矩阵转置的方法:

print [[r[col] for r in arr] for col in range(len(arr[0]))]  [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]

另一个更快和高级一些的方法,可以使用zip函数:

print map(list, zip(*arr))

本节提供了关于矩阵转置的两个方法,一个比较清晰简单,另一个比较快速但有些隐晦.有时候,数据到来的时候使用错误的方式,比如,你使用微软的ADO接口访问数据库,由于Python矩阵转置

和MS在语言实现上的差别. Getrows方法在Python中可能返回的是列值,和方法的名称不同.本节给的出的方法就是这个问题常见的解决方案,一个更清晰,一个更快速.
在列表递推式版本中,内层递推式表示选则什么(行),外层递推式表示选择者(列).这个过程完成后就实现了转置.

在zip版本中,我们使用*arr语法将一维数组传递给zip做为参数,接着,zip返回一个元组做为结果.然后我们对每一个元组使用list方法,产生了列表的列表(即矩阵).因为我们没有直接将zip的结果表示为list, 所以我们可以我们可以使用itertools.izip来稍微的提高效率(因为izip并没有将数据在内存中组织为列表).

import itertools  print map(list, itertools.izip(*arr))

但是,在特定的情况下,上面的方法对效率的微弱提升不能弥补对复杂度的增加.关于*args和**kwds语法:*args(实际上,*号后面跟着变量名)语法在Python中表示传递任意的位置变量,当你使用这个语法的时候(比如,你在定义函数时使用),Python将这个变量和一个元组绑定,并保留所有的位置信息, 而不是具体的变量.当你使用这个方法传递参数时,变量可以是任意的可迭代对象(其实可以是任何表达式,只要返回值是迭代器).

**kwds语法在Python中用于接收命名参数.当你用这个方式传递参数时,Python将变量和一个dict绑定,保留所有命名参数,而不是具体的变量值.当你传递参数时,变量必须是dict类型(或者是返回值为dict类型的表达式).

如果你要转置很大的数组,使用Numeric Python或其它第三方包,它们定义了很多方法,会让你头晕的。

以上就是如何进行Python矩阵转置中的二维数组的实际操作,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网Python频道。

--结束END--

本文标题: 如何进行Python矩阵转置中的二维数组的实际操作

本文链接: https://www.lsjlt.com/news/290407.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何进行Python矩阵转置中的二维数组的实际操作
    本篇文章给大家分享的是有关如何进行Python矩阵转置中的二维数组的实际操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如果你对Python矩阵转置的实际应用操作方案的转置不...
    99+
    2023-06-17
  • Python矩阵转置的实际应用操作方案及如何编写代码
    今天就跟大家聊聊有关Python矩阵转置的实际应用操作方案及如何编写代码,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。你需要确保该数组的行列数都是相同的.比如:arr =&...
    99+
    2023-06-17
  • PHP如何实现二维数组中行和列的替换操作
    PHP中使用二维数组十分常见,不过在进行一些操作时可能需要对二维数组的行或列进行替换。本文将介绍在PHP中如何实现二维数组的行和列的替换操作。一、PHP二维数组二维数组是由多个一维数组组成的数组,可以想象成是一个表格。在PHP中可以使用ar...
    99+
    2023-05-14
  • 如何在 Python 函数中使用 Linux 数组进行高效的数据操作?
    Python 是一种广泛使用的高级编程语言,其语法简单易懂,功能强大。在 Python 中,函数是一种非常重要的编程结构,它可以让代码更加模块化,方便维护和复用。而 Linux 数组则是一种强大的数据结构,可以帮助我们高效地进行数据操作。本...
    99+
    2023-07-20
    函数 linux 数组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作