时间:2021-05-22
初学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 多维切片之冒号和三个点的用法介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文主要介绍了Python中list[::-1]的几种用法,分享给大家,具体如下:s="abcde"list的[]中有三个参数,用冒号分割list[param1
如果对象是二维数组,则切片应当是x[:]的形式,里面有一个冒号,冒号之前和之后分别表示对象的第0个维度和第1个维度;如果对象是三维数组,则切片应当是x[::],
注意if\while\for等(或函数定义)语句在结尾处包含一个冒号——我们通过它告诉python下面跟着一个语句块。--------------冒号的用法if
本文实例讲述了Python切片工具pillow用法。分享给大家供大家参考,具体如下:切片:使用切片将源图像分成许多的功能区域因为要对图片进行切片裁剪,所以用到切
本文实例讲述了Python学习笔记之While循环用法。分享给大家供大家参考,具体如下:前面一篇《Python学习笔记之For循环用法》详细介绍了Pythonf