文档章节

零基础学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
09/10
0
0
如何用 Python 可视化《三国》人物与兵器出现频率?(视频教程)

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

王树义
06/03
0
0
我是如何零基础自学转行人工智能的(附十问十答)

每个字都是经验所得,都是站在一个零基础的人的角度写的,纯手打+网上优秀资源整合,希望大家能每个字都认真看。 接下来文章会侧重在以下几方面 1、零基础如何进行人工智能的自学(以找工作为...

经济与编程
08/01
0
0
机器学习的最佳学习路线原来只有四步

AI这个词相信大家都非常熟悉,近几年来人工智能圈子格外热闹,光是AlphoGo就让大家对它刮目相看。今天小天就来跟大家唠一唠如何进军人工智能的第一步——机器学习。 在机器学习领域,Python已...

ufv59to8
05/12
0
0
如何快速学习Python编程?可以做什么职业?

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

糖宝lsh
10/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JAVA设计模式之模板方法模式和建造者模式

一、前期回顾 上一篇《Java 设计模式之工厂方法模式与抽象工厂模式》介绍了三种工厂模式,分别是工厂方法模式,简单工厂方法模式,抽象工厂模式,文中详细根据实际场景介绍了三种模式的定义,...

木木匠
50分钟前
2
0
C中的宏的使用(宏嵌套/宏展开/可变参数宏)

基本原则: 在展开当前宏函数时,如果形参有#或##则不进行宏参数的展开,否则先展开宏参数,再展开当前宏。 #是在定义两边加上双引号 #define _TOSTR(s) #sprintf(_TOSTR(test ABC))pr...

SamXIAO
今天
4
0
SpringBoot 整合异步调用方法

1. 在 SpringBoot 主类上使用 @EnableAsync 注解,开启异步调用功能 package com.codingos.springbootdemo;import org.springframework.boot.SpringApplication;import org.springfra......

北漂的我
今天
1
0
0015-如何使用Sentry管理Hive外部表权限

1.文档编写目的 本文档主要讲述如何使用Sentry对Hive外部表权限管理,并基于以下假设: 1.操作系统版本:RedHat6.5 2.CM版本:CM 5.11.1 3.集群已启用Kerberos和Sentry 4.采用具有sudo权限的...

Hadoop实操
今天
5
0
边缘计算与数据中心的发展趋势

导读 Gartner研究表明,人工智能、物联网和5G助力下一代商业创新,由此产生大量数据,2020年前企业将使用超过75亿台联网设备。 在几乎每个方面,社会的节奏都正变得更快。我们希望客户服务问...

问题终结者
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部