python矩阵转置与zip(*)的使用

python矩阵转置与zip(*)的使用Python中的矩阵转置方法有如下几种:使用双重循环做(最直接,最本质的方法)importrandomrow=3column=4array=[[random.randint(0,10)for_inrange(column)]for_inrange(row)]print(“砸门先随机创建一个呗:”,array)res=[]foriinrange(column):tmp=[]forjinrange(row):tmp.

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

Python中的矩阵转置方法有如下几种:

  • 使用双重循环做(最直接,最本质的方法)

    import random
    row = 3
    column = 4
    array = [[random.randint(0, 10) for _ in range(column) ]for _ in range(row)]
    print("砸门先随机创建一个呗:", array)
    res = []
    for i in range(column):
      tmp = []
      for j in range(row):
        tmp.append(array[j][i])
      res.append(tmp)
    print("看看转置后的结果:", res)
    
    """ 砸门先随机创建一个呗: [[8, 6, 7, 0], [3, 6, 9, 8], [9, 9, 0, 9]] 看看转置后的结果: [[8, 3, 9], [6, 6, 9], [7, 9, 0], [0, 8, 9]] """
    
  • 巧借zip(*)

    print("使用zip(*)的转置结果:", list(zip(*array)))
    
    """ 砸门先随机创建一个呗: [[7, 4, 9, 5], [6, 7, 9, 9], [4, 6, 3, 4]] 使用zip(*)的转置结果: [(7, 6, 4), (4, 7, 6), (9, 9, 3), (5, 9, 4)] """
    

    如果觉得tuple看起来不对应,可以迭代修改一下:

    print("使用zip(*)的转置结果:", [list(i) for i in zip(*array)])
    
    """ 砸门先随机创建一个呗: [[0, 10, 3, 1], [2, 4, 0, 9], [3, 6, 2, 8]] 使用zip(*)的转置结果: [[0, 2, 3], [10, 4, 6], [3, 0, 2], [1, 9, 8]] """
    

    一定要注意zip()也可以实现相同的转置效果,但是它的输入参数是多个独立的可迭代对象哦,所以需要将array拆分为:[0, 10, 3, 1], [2, 4, 0, 9], [3, 6, 2, 8]作为zip()的输入参数

  • 转换为numpy,再使用np.transpose()

    import numpy as np
    nump = np.array(array)
    trans = np.transpose(nump, (1, 0))
    print("使用numpy来转置的结果:", trans.tolist())
    
    """ 砸门先随机创建一个呗: [[3, 0, 4, 3], [5, 6, 2, 0], [0, 1, 9, 9]] 使用numpy来转置的结果: [[3, 5, 0], [0, 6, 1], [4, 2, 9], [3, 0, 9]] """
    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年6月2日 下午1:46
下一篇 2022年6月2日 下午1:46


相关推荐

  • spss分析方法-聚类分析

    spss分析方法-聚类分析聚类分析是根据研究对象的特征 按照一定标准对研究对象进行分类的一种分析方法 下面我们主要从下面四个方面来解说 一 实际应用聚类分析的目标就是在相似的基础上收集数据来分类 聚类源于很多领域 包括数学 计算机科学 统计学 生物学和经济学 在不同的应用领域 很多聚类技术都得到了发展 这些技术方法被用作描述数据 衡量不同数据源间的相似性 以及把数据源分类到不同的簇中 商业上 聚类分析被用来发现不同的客户群 并且通过购买模式刻画不同的客户群的特征 聚类分析是细分市场的有效工具 同时也可用于研究消费者行为

    2026年3月19日
    2
  • DOS版环球经典游戏全集

    DOS版环球经典游戏全集经典的东西总是让人怀念 记得以前为了玩一个智冠的三国演义 II 将自己的的中华学习机 CECII 换成了 286 每个从那时过来的老鸟都会怀念那时 DOS 下面这些游戏 曾经引领多少老鸟进入计算机的世界 并赞叹那个时代开发人员的想象力 能在 DOS 下创造出如此辉煌 以下是 Emule 的下载地址 没用过 Emule 的可以到这里看看教程和下载软件 www verycd comed2k file DOS 版环球

    2026年3月18日
    3
  • Pytest(16)随机执行测试用例pytest-random-order[通俗易懂]

    Pytest(16)随机执行测试用例pytest-random-order[通俗易懂]前言通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果。pytest默认运行用例的顺序是按模块和用例命名的ASCII编码

    2022年7月29日
    9
  • crawlab爬虫

    crawlab爬虫安装方式 Docker 推荐 直接部署 了解内核 要求 Docker Docker18 03 RedisMongoDB 6 要求 直接部署 Go1 12 Node8 12 RedisMongoDB 6 运行 Docker 运行主节点示例 192 168 99 1 是在 DockerMachin 网络中的宿主机 IP 地址 192 168 99 100 是 Docker 主节点的 IP 地址 dockerrun drmnamecrawl eCRAWLAB

    2026年3月19日
    2
  • LSTM神经网络详解

    LSTM神经网络详解LSTM 长短时记忆网络 LongShortTer LSTM 是一种改进之后的循环神经网络 可以解决 RNN 无法处理长距离的依赖的问题 目前比较流行 长短时记忆网络的思路 原始 RNN 的隐藏层只有一个状态 即 h 它对于短期的输入非常敏感 再增加一个状态 即 c 让它来保存长期的状态 称为单元状态 cellstate 按照上面时间维度展开 在 t 时刻 LSTM 的输入有三个 当前时刻网络的输入值 X t 上一时刻 LSTM 的输出值 h t 1 以及上

    2026年3月19日
    2
  • Unity3d中多足怪的物理RagDoll实现

    Unity3d中多足怪的物理RagDoll实现Unity3D4 5 中的物理只支持双足人形的 RagDoll 对于非双足人形的怪物 需要自己动手在每根骨骼上添加物理关节 joint 具体做法是 1 在 3DsMax 中创建怪物模型及骨骼 2 使用 NVIDIA PhysX For Autodesk 3ds Max 插件生成怪物模型的 RagDoll 设置骨骼碰撞体参数及关节约束 JointConstra 参数 3 将生成的

    2026年3月17日
    2

发表回复

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

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