python 多维切片之冒号和三个点的用法介绍

yipeiwu_com5年前Python基础

初学python和numpy,对在学习多维切片的过程中遇到的问题做个总结。

一维切片就不说了,比较简单,先说下二维的,二维的理解了多维的就简单了。举个例子先建立一个5x5的二维数组

多维的切片是按照各个维度分别取

这里就分别输出第一维的2-3和第二维的3-5(索引从0开始)。

这里是行取全部,列取第3-5。

这里应该是大家最疑惑的地方了,为什么列的参数改成None,输出的shape都变了,这里大家要知道,None代表新增加一个维度,它有一个别称叫newaxis,大家可以输出一下numpy.newaxis就知道了,那么这个别称应该顾名思义了吧。那么为什么是5x1x5,而不是5x5x1呢,那是因为你在第二维上用了None,你如果在第三维上用就会变成5x5x1了,不信你看

这下大家应该明白了吧。就是说None放在哪一维,就会在哪一维上出现新的维度。

再看个更奇葩的

三个点是什么鬼,凭记忆这不是可以换行的操作么,但这里不是,它是省略所有的冒号来用省略号代替,大家看这个a[:, :, None]和a[…, None]的输出是一样的,就是因为…代替了前面两个冒号。这下应该清楚了。

至于三维以上的,那跟二维是一模一样啊。

以上这篇python 多维切片之冒号和三个点的用法介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现逆波兰计算表达式实例详解

本文实例讲述了python实现逆波兰计算表达式的方法。分享给大家供大家参考。具体分析如下: 逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,...

python3 小数位的四舍五入(用两种方法解决round 遇5不进)

round( )函数简介 菜鸟教程中介绍到,round() 函数作用就是,返回浮点数x的四舍五入值。 > round( x [, n] ) 参数x,n均为数值表达式,返回值...

Python进行数据科学工作的简单入门教程

Python进行数据科学工作的简单入门教程

Python拥有着极其丰富且稳定的数据科学工具环境。遗憾的是,对不了解的人来说这个环境犹如丛林一般(cue snake joke)。在这篇文章中,我会一步一步指导你怎么进入这个PyDat...

Python使用新浪微博API发送微博的例子

Python使用新浪微博API发送微博的例子

1、注册一个新浪应用,得到appkey和secret,以及token,将这些信息写入配置文件sina_weibo_config.ini,内容如下,仅举例: 复制代码 代码如下:[user...

OpenCV-Python实现轮廓检测实例分析

OpenCV-Python实现轮廓检测实例分析

相比C++而言,Python适合做原型。本系列的文章介绍如何在Python中用OpenCV图形库,以及与C++调用相应OpenCV函数的不同之处。这篇文章介绍在Python中使用Open...