python 多维切片之冒号和三个点

这篇博客总结了Python中numpy库对于多维数组的切片操作。讲解了一维和二维切片的区别,并通过实例解释了None(newaxis)在增加维度中的作用。文章还提到了省略号(…)的使用,它能替代所有冒号进行切片。通过这些内容,读者能够更好地理解和应用numpy的多维切片功能。
摘要由CSDN通过智能技术生成

初学python和numpy,对在学习多维切片的过程中遇到的问题做个总结。
一维切片就不说了,比较简单,先说下二维的,二维的理解了多维的就简单了。举个例子先建立一个5x5的二维数组
这里写图片描述
多维的切片是按照各个维度分别取
比如
这里写图片描述
这里就分别输出第一维的2-3和第二维的3-5(索引从0开始)。
这里写图片描述
这里是行取全部,列取第3-5。
这里写图片描述
这里应该是大家最疑惑的地方了,为什么列的参数改成None,输出的shape都变了,这里大家要知道,None代表新增加一个维度,它有一个别称叫newaxis,大家可以输出一下numpy.newaxis就知道了,那么这个别称应该顾名思义了吧。那么为什么是5x1x5,而不是5x5x1呢,那是因为你在第二维上用了None,你如果在第三维上用就会变成5x5x1了,不信你看
这里写图片描述
这下大家应该明白了吧。就是说None放在哪一维,就会在哪一维上出现新的维度。
再看个更奇葩的
这里写图片描述
三个点是什么鬼,Matlab里面这不是换行的操作么,但这里不是,它是省略所有的冒号来用省略号代替,大家看这个a[:, :, None]和a[…, None]的输出是一样的,就是因为…代替了前面两个冒号。这下应该清楚了。
多维数组和二维的数组可以一样去理解。

了解更多关于《计算机视觉与图形学》相关知识,请关注公众号:

在这里插入图片描述
下载我们视频中代码和相关讲义,请在公众号回复:计算机视觉课程资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值