python中矩阵转置4种方法「建议收藏」

python中矩阵转置4种方法「建议收藏」文章目录1.使用双重循环2.使用列表表达式3.使用zip函数4.使用numpy模块1.使用双重循环#python双重循环arr=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]arr2=[]#数组的第二维维度foriinrange(len(arr[0])):temp=[]#数组的第一维维度forjinrange(le

大家好,又见面了,我是你们的朋友全栈君。

1. 使用双重循环

# python 双重循环

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

arr2 = []
# 数组的第二维维度
for i in range(len(arr[0])):
    temp = []
    # 数组的第一维维度
    for j in range(len(arr)):
        temp.append(arr[j][i])
    arr2.append(temp)
print(arr2)

'''
# 输出结果为:
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]
'''

2. 使用列表表达式

# python 列表表达式
# 使用嵌套的列表表达式
arr = [[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]]
# i 为第二个维度,j 为第一个维度
arr2 = [[arr[j][i] for j in range(len(arr))] for i in range(len(arr[0]))]
print(arr2)
'''
# 输出结果为:
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]
'''

3. 使用zip函数

# python zip函数
arr = [[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]]
# zip(* )在这里是解压的作用
# 将arr 看做是一个打包后的数组
arr2 = zip(* arr)
print(list(arr2))
'''
# 输出结果为:
[(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)]
'''

4. 使用numpy模块

# 使用numpy转置
import numpy as np

arr = [[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]]
arr = np.array(arr)
# 这里可以三种方法达到转置的目的
# 第一种方法
print(arr.T)
# 第二种方法
print(arr.transpose())
# 第三种方法
print(arr.swapaxes(0, 1))
# 上面三种方法等价
'''
# 三种方法的输出结果均为:
[[ 1  4  7 10]
 [ 2  5  8 11]
 [ 3  6  9 12]]
'''
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137233.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎样用python画爱心_女生节前夕特别篇:如何用python画爱心[通俗易懂]

    怎样用python画爱心_女生节前夕特别篇:如何用python画爱心[通俗易懂]亲爱的男生们:展信佳!明天就是女生节了,你们是否还在为送什么而焦头烂额,是否还在俗套地沿用着前辈们的套路。挂横幅——让女生们梦回八九十年代的大学生活?拍视频——加入抖音快手之流?送礼物——非常棒!!可惜没钱?如何能够送出实惠而又有逼格的礼物?今天,我就给大家隆重地介绍一个简单而又高大上的方法——用python来制作一个爱心!!你可能会问,太难了,我不会python怎么办?不要怕,超级简单的,相信我…

    2025年9月24日
    4
  • mixpanel实验教程(1)

    mixpanel实验教程(1)

    2022年2月6日
    39
  • 通俗讲解分布式锁:场景和使用方法

    通俗讲解分布式锁:场景和使用方法前言对于锁大家肯定不会陌生 比如 synchronized 关键字和 ReentrantLoc 可重入锁 一般我们用其在多线程环境中控制对资源的并发访问 但是随着业务的发展 分布式的概念逐渐出现在我们系统中 我们在开发的过程中经常需要进行多个系统之间的交互 于是上面的加锁方法就会失去作用 于是在分布式锁就自然而然的诞生了 接下来我们来聊一聊分布式锁实现的几种方式 分布式锁的使用场景 效率性 使用分布式锁可以避免不同节点重复相同的工作 正确性 分布式锁可以避免破坏正确性的发生 如

    2025年11月30日
    3
  • PHP接口上传参数返回参数混淆

    PHP接口上传参数返回参数混淆

    2022年2月18日
    36
  • 情人节来了,教你个用 Python 表白的技巧「建议收藏」

    情人节来了,教你个用 Python 表白的技巧「建议收藏」作者:@明哥公众号:Python编程时光2020年,这个看起来如此浪漫的年份,你还是一个人吗?难不成我还能是一条狗?18年的时候,写过一篇介绍如何使用Python来表白的文章。虽然创意和使用效果都不错,但有一缺点,这是那个exe文件,女神需要打开电脑,才有可能参与进来,进而被你成功”调戏”。由于是很早期的文章了,应该有很多人没有看过。没有看过的,你可以点击这里查看:用Python写一个表白神器让你脱离单身提醒你一下,后天就是2月14日了。什么?还是一条狗呢?行吧,那你赶上了,今

    2022年6月2日
    34
  • 激光SLAM入门学习笔记[通俗易懂]

    激光SLAM入门学习笔记[通俗易懂]激光SLAM入门学习笔记(持续更新)激光SLAM入门学习笔记(持续更新)一、推荐阅读书籍二、推荐公众号、知乎、博客1、公众号2、知乎3、博客三、推荐阅读论文&代码(参考泡泡机器人)2D激光SLAM3D激光SLAM1、LOAM(经典)2、A-LOAM(初学)3、LeGO-LOAM(进阶)4、Lio-mapping(进阶、LIO初学)5、hdl_graph_slam(入门)10、SC-LeGO-LOAM(应用推荐)激光SLAM入门学习笔记(持续更新)一、推荐阅读书籍视觉SLAM十四讲概率机器人

    2022年8月23日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号