import numpy >>> a = numpy.array([[1,2,3,4,5],[6,7,8,9,10],[1,2,3,4,5],[6,7,8,9,10]]) >>> a array([[ 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10], [ 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10]]) >>> a[...,2] array([3, 8, 3, 8]) >>> a[...,:2] array([[1, 2], [6, 7], [1, 2], [6, 7]]) >>> a[...,::2] array([[ 1, 3, 5], [ 6, 8, 10], [ 1, 3, 5], [ 6, 8, 10]]) >>> a[...,:3] array([[1, 2, 3], [6, 7, 8], [1, 2, 3], [6, 7, 8]]) >>> a[...,::3] array([[1, 4], [6, 9], [1, 4], [6, 9]])
a[...,2]:...表示遍历每行,2表示索引为2的所在列。
a[...,:2]:...表示遍历每行,:2表示索引为<2的0,1所在的列。
a[...,::2]:...表示遍历每行,2表示步长,选取多索引为0,2,4所在的列。
a[::-1]:表示取反,将所要输出的列表的固定维度取逆序。
>>> import numpy >>> a=numpy.array(numpy.arange(18).reshape(3,3,2)) >>> a array([[[ 0, 1], [ 2, 3], [ 4, 5]], [[ 6, 7], [ 8, 9], [10, 11]], [[12, 13], [14, 15], [16, 17]]]) >>> a[...,::-1] array([[[ 1, 0], [ 3, 2], [ 5, 4]], [[ 7, 6], [ 9, 8], [11, 10]], [[13, 12], [15, 14], [17, 16]]])
上面例子,展现的是,前两个维度不变,第三个维度取反(逆序)。