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]]])
上面例子,展現的是,前兩個維度不變,第三個維度取反(逆序)。