你说的三个点,是三引号吧。
''' '''
通常是用来进行
多行注释
多行变量字符串。
类或方法doc文档。
初学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]的输出是一样的,就是因为…代替了前面两个冒号。这下应该清楚了。
至于三维以上的,那跟二维是一模一样啊。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。