文章

一些想写的东西和笔记都在这里。

(一)

Python中[-1]、[:-1]、[::-1]、[n::-1]、[:,:,0]、[…,0]、[…,::-1] 的理解

下面的a = [1,2,3,4,5]

[-1]: 列表最后一项
[:-1]: 从第一项到最后一项 原型是[n : m],前闭后开,索引从零开始,第一个索引指定可以取到,即n可以取到,后一个索引不可取到,即m不可取到。
[::-1]: 代表从全列表倒序取 原型是[n : m : k],代表的是从那一段开始取,隔几个取一次。 其中,n代表的是取值开始的索引,因此该索引必将被取到,m代表的是取值结束的索引,和上面一样,该值不能被取到。 k代表的是间隔,间隔可正可负,正值代表正向顺序跳取,负值代表反向跳取。 需要注意的是,当k为正的时候起始索引应该小于结束索引;当k为负的时候起始索引应该大于结束索引,因为在倒序来看,首先是索引值大的被取到,然后才是索引值小的。
[n::-1]: 同上所述,从索引n开始倒序取值:
[:,:,0]: 因为有了逗号,所以这个方法就和前面的有所不同了。它是对多维数据的一种处理方式,代表了前两维全选,取其中的所有0号索引。 原型是[n:m, j:k, g:h],当然维度可以更多,在图片处理中,一般用到的就是三维的。看a数组的模样就可以看出来,nm管最外层列表的取值,从第n个元素到第m个元素,前闭后开;jk管nm取中的元素的列表中的元素的选取,也是前闭后开,gh管jk取中元素的列表中的元素的选取,任意一对都可以是个整数用来直接取某个索引,这和前两个很像。 其实就是嵌套列表的取值方法。
[…,0]: 代表了取最里边一层的所有第0号元素,…代表了对:,:,:,的省略。注意只能进行一次省略,不能是[… , …],全省略就是a了。