文档章节

零基础学python-19.3 列表解析与矩阵

raylee2015
 raylee2015
发布于 2015/10/21 08:10
字数 476
阅读 3
收藏 0

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

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-目录


 

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

本文转载自:http://blog.csdn.net/raylee2007/article/details/48690567

共有 人打赏支持
raylee2015
粉丝 6
博文 265
码字总数 44224
作品 0
江门
私信 提问
Python基础总结成千行代码,让Python入门更简单!

只要学会这千行代码,不管你是零基础还是弱基础或是没有接触过编程,都可以快速入门Python!当时我就不信邪啊,等我看完之后,即使作为一个Python老鸟了,还是领会到了很多教授他的独特见解!...

糖宝lsh
2018/09/10
0
0
如何用 Python 可视化《三国》人物与兵器出现频率?(视频教程)

咱们以《三国演义》人名和兵器谱为例,尝试读取不同结构的文本文件,并且对其中的信息进行统计分析和可视化。 入门 如何帮助学生高效入门 Python ,一直是困扰我的问题。 总结经验后,我写下...

王树义
2018/06/03
0
0
家里断网好无聊,正好最近学了Python来破解下邻居的WiFi试试!

家里WiFi没网了,贼无聊,正好隔壁几家的邻居都出去玩了,偷偷的破解他们的WiFi用用应该不要紧的~ Python是我刚学的,破解WiFi也是临时想法,不过Python的学习资料一大把是真的!一个刚从培训...

Python小哥哥
2018/09/08
0
0
如何快速学习Python编程?可以做什么职业?

2018年Python热度不减,一直占据编程语言排行榜的前几位。人生苦短,让我们来学一学Pyhotn吧,找到一份满意的工作还是没有问题的。 Python语言本身所具有的优势,决定了从事Python学习的开发...

糖宝lsh
2018/10/27
0
0
Python3.6 + Pyqt5 + Eric6 环境搭建

打算用Python做个小的窗口程序,各种资料比较了半天,比较成熟的应该是 pycham 和 eric 了,前者要收费所以就用eric算了,HOHO。身边没有可以请教的人,网上搜的教程都是老版本的,装完发现Q...

javapi
2017/10/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
31分钟前
1
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
38分钟前
1
0
深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
56分钟前
1
0
MVC、MVCS、MVVM、MVP、VIPER等这么多架构模式哪一个好呢?

在项目开启阶段,其中一个很重要的环节就是选架构。 那么面对目前已知的这么多架构模式我们该怎么选择呢?这确实是个很让人头疼的问题! 下面我就在这里梳理一下目前常见的一些架构模式。 先...

Java干货分享
今天
7
0
简单模仿配置文件的反射机制

//Student类 public class Student { public void love() { System.out.println("python"); } } //Tesy类 public class Tesy { public static void main(String[] args) throws Exceptio......

南桥北木
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部