零基础学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-目录


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值