给出下列代码:
import numpy as np
a = np.array([[1, 2],[2, 3],[3, 4]])
a = a[::-1]
print(a)
输出:
[[3 4]
[2 3]
[1 2]]
a = a[::-1]中第一个:如何理解?感谢!
实际上,Python自带的列表list,也是这样倒序的。
在list或numpy的array后面,有三种情况(以下x为list类型或array类型):
- x[a]表示x中第a项(以0开始),如x[0]表示x中的第一项,x[5]表示x中的第六项,以此类推。
特殊用法:x[-1]表示x中的最后一项,以此类推。 - x[a:b]表示将x中从a开始到b这个部分(不包括b),即由x[a],x[a+1],x[a+2],...,x[b]这个部分组成的列表复制一份。
特殊用法:x[:b]表示从x开头一直到b这个部分(不包括b),同理,x[a:]表示x的a一直到结尾这个部分,而x[:]则是将x列表完全复制一份。注意!不能直接将x赋值给其他变量!否则,其中一个列表发生变化,另一个列表也会跟着发生相同的变化,只能使用x[:]的方法将副本赋值给另一个变量。 - x[a:b:k]表示与2的用法几乎相同的作用,但是它是从a开始,每隔k个元素地选取。如设x为[0,1,2,3,4,5],则x[::2]表示从开头开始,到结尾,选特定的值[0,2,4](到5之后因为没有值了就忽略)。
特殊用法:即问题所述,a[::-1],表示从最后开始,到最前面,因为每个值是列表,而里层列表还是不变的顺序,只改变外层列表的顺序。因此为[[3 4][2 3][1 2]]。这也是翻转列表的一种常用方式。