zoukankan      html  css  js  c++  java
  • 零基础学python-19.3 列表解析与矩阵

    这一章节我们来讨论一下列表解析与矩阵

    1.矩阵

    矩阵(Matrix)是指纵横排列的二维数据表格

    我们先从idle里面顶一个两个矩阵

    >>> M=[ [1,2,3],
    	[2,3,4],
    	[3,4,5] ]
    >>> N=[ [5,6,7],
    	[-2,-3,-4],
    	[13,14,15] ]
    >>> 


    从上面来看,列表嵌套列表暂时成为一个矩阵,根据列表的特性,我们总是可以根据索引来操作矩阵

    >>> M=[ [1,2,3],
    	[2,3,4],
    	[3,4,5] ]
    >>> N=[ [5,6,7],
    	[-2,-3,-4],
    	[13,14,15] ]
    >>> M[1]
    [2, 3, 4]
    >>> N[0][0]
    5
    >>> 


    2.列表解析与矩阵

    由于列表解析是迭代所有的行与列,因此,对于矩阵这种数据格式的操作尤为好用

    下面是遍历每一行

    >>> [row for row in M]
    [[1, 2, 3], [2, 3, 4], [3, 4, 5]]

    遍历某一列

    >>> [M[row][1] for row in range(3)]
    [2, 3, 4]


    遍历对角线

    >>> [M[i][i] for i in range(3)]
    [1, 3, 5]
    >>> 


    遍历每一个元素

    >>> [M[row][col] for row in range(3) for col in range(3)]
    [1, 2, 3, 2, 3, 4, 3, 4, 5]
    >>> 


    列举M+N之后的元素

    >>> M=[ [1,2,3],
    	[2,3,4],
    	[3,4,5] ]
    >>> N=[ [5,6,7],
    	[-2,-3,-4],
    	[13,14,15] ]
    >>> [M[row][col]+N[row][col] for row in range(3) for col in range(3)]
    [6, 8, 10, 0, 0, 0, 16, 18, 20]
    >>> 

    M+N之后组成新矩阵

    >>> M=[ [1,2,3],
    	[2,3,4],
    	[3,4,5] ]
    >>> N=[ [5,6,7],
    	[-2,-3,-4],
    	[13,14,15] ]
    >>> [[M[row][col]+N[row][col] for col in range(3)] for row in range(3)]
    [[6, 8, 10], [0, 0, 0], [16, 18, 20]]
    >>> 


    M*N之后组成新矩阵

    >>> M=[ [1,2,3],
    	[2,3,4],
    	[3,4,5] ]
    >>> N=[ [5,6,7],
    	[-2,-3,-4],
    	[13,14,15] ]
    >>> [[M[row][col]*N[col][row] for col in range(3)] for row in range(3)]
    [[5, -4, 39], [12, -9, 56], [21, -16, 75]]
    >>> 


    总结:这一章节主要讲述了通过列表的特性操作矩阵,以及列表解析与矩阵结合的矩阵运算

    这一章节就说到这里,谢谢大家

    ------------------------------------------------------------------

    点击跳转零基础学python-目录


     

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    高精度计算模板
    P1108 低价购买 [DP][统计方案]
    POJ3349 Snowflake Snow Snowflakes [哈希]
    P1312 Mayan游戏 [深搜][模拟]
    P1378 油滴扩展[深搜]
    P1514 引水入城[搜索,线段覆盖]
    TYVJ1391 走廊泼水节
    【BZOJ1196】公路修建问题
    【BZOJ3624】免费道路
    【BZOJ2429】聪明的猴子
  • 原文地址:https://www.cnblogs.com/raylee2007/p/4896717.html
Copyright © 2011-2022 走看看