Язык программирования Python

       

Функция Numeric.take()


Функция Numeric.take() позволяет взять часть массива по заданным на определенном измерении индексам. По умолчанию номер измерения (третий аргумент) равен нулю.

>>> import Numeric >>> a = Numeric.reshape(Numeric.arrayrange(25), (5, 5)) >>> print a [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19] [20 21 22 23 24]] >>> print Numeric.take(a, [1], 0) [ [5 6 7 8 9]] >>> print Numeric.take(a, [1], 1) [[ 1] [ 6] [11] [16] [21]] >>> print Numeric.take(a, [[1,2],[3,4]]) [[[ 5 6 7 8 9] [10 11 12 13 14]] [[15 16 17 18 19] [20 21 22 23 24]]]

В отличие от среза, функция Numeric.take() сохраняет размерность массива, если конечно, структура заданных индексов одномерна. Результат Numeric.take(a, [[1,2],[3,4]]) показывает, что взятые по индексам части помещаются в массив со структурой самих индексов, как если бы вместо 1 было написано [5 6 7 8 9], а вместо 2 - [10 11 12 13 14] и т.д.



Содержание раздела