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年9月29日
    4
  • elf 变异upx 脱壳

    elf 变异upx 脱壳题目是某ctf题首先使用IDA打开:函数极少,有壳。查看函数这个跳转比较可疑下面进行IDA动态调试进入loc_52D516再进入直到找到jmpr13运行到这里,F8跳转直接retn下断点F9,直接retn下断点F9重复,直到遇到一个大跳转单步,然后return来到了程序入口下面dump脱壳(转储的意思)。dump要使用脚本,因为我是个菜鸡,直接在网上找的脚本,通用的。idc脚本下载可以存放在ida里面有个脚本的文件夹idc,源码后面会附上首先在D盘下

    2022年7月12日
    18
  • ssh连接亚马逊云报错:Permanently added ‘IP‘ (ECDSA) to the list of known hosts Permission denied[通俗易懂]

    ssh连接亚马逊云报错:Permanently added ‘IP‘ (ECDSA) to the list of known hosts Permission denied

    2022年2月17日
    75
  • 项目范围管理「建议收藏」

    项目范围管理「建议收藏」1、项目范围管理要做好以下三方面工作:1)明确项目边界2)对项目执行工作进行监控3)防止项目范围发生蔓延2、项目的范围基准是经过批准的项目范围说明书、WBS和WBS字典。判断项目是否完成要以范

    2022年8月2日
    7
  • matlab 画图的颜色

    matlab 画图的颜色plot函数代表不同颜色的标示符一共有八种:y:黄色;k:黑色;w:白色;b:蓝色;g:绿色;r:红色;c:亮青色;m:锰紫色;其他的就要自己设定了,‘color’,[000];三原色你值得拥有;…

    2022年5月31日
    407
  • samba文件共享服务器,全网最详细的samba文件共享服务![通俗易懂]

    samba文件共享服务器,全网最详细的samba文件共享服务![通俗易懂]了解samba:1.samba是linux共享文件系统,将SMB(服务消息块)/CIFS(通用网络文件系统)协议在linux中进行实现,让linux、unix、windows系统之间可以相互访问文件共享。2.samba服务相关知识点:1samba是C/S(客户端/服务器)架构,2监听TCP/139及TCP/445(由smbd程序监听),监听UDP/137和UDP/138(由nmbd程序监听)…

    2022年9月25日
    4

发表回复

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

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