zoukankan      html  css  js  c++  java
  • 推导列表实现二维矩阵转置

    a=[[1,2,3],[4,5,6],[7,8,9]]

    1    2     3

    4    5     6

    7    8     9

    转为:

    1     4    7

    2    5     8

    3     6    9


    [ [j[i] for j in a] for i in range(3)]
    i=0   j[0]--->[1,4,7]
    i=1   j[1]--->[2,5,8]
    i=2   j[2]--->[3,6,9]

    for i in range(3):--->循环3次,i=0,1,2
        for j in a:---->循环3次,j=第一行,第二行,第三行
            j[i]---->第一次:1,4,7
                     第二次:2,5,8
                     第三次:3,6,9

    >>> a=[[1,2,3],[4,5,6],[7,8,9]]
    >>> [[j[i] for j in a] for i in range(3)]
    [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

    升级练习:删除二维矩阵中的某一列。

    [[i[j] for j in [1,2]]  for i in a]
     a=[[1,2,3],[4,5,6],[7,8,9]]
    for i in a:--->循环三次:
                   i:第一次:[1,2,3]
                   i:第二次:[4,5,6]
                   i:第三次:[7,8,9]

    [i[j] for j in [1,2]]----->[i[1],i[2]]

    >>> [[i[j] for j in range(3)]  for i in a]
    [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
    >>> [[i[j] for j in [1,2]]  for i in a]
    [[2, 3], [5, 6], [8, 9], [11, 12]]
    >>> [[i[j] for j in [0,2]]  for i in a]
    [[1, 3], [4, 6], [7, 9], [10, 12]]

  • 相关阅读:
    JAVA软件开发职责
    Redis主从复制配置
    VirtualBox安装Ubuntu教程
    分段锁——ConcurrentHashMap
    阻塞队列BlockingQueue用法
    阻塞队列--LinkedBlockingQueue
    MySQL百万级数据库优化方案
    获取主机的对外ip
    联通沃云开启80端口
    Nginx 正则匹配
  • 原文地址:https://www.cnblogs.com/wenm1128/p/11619303.html
Copyright © 2011-2022 走看看