Преобразование массива numpy в кортеж

Примечание: Здесь запрашивается обратное обычному преобразованию кортежа в массив.

Мне нужно передать аргумент (обернутой C++) функции в виде вложенного кортежа. Например, следующее работает

X = MyFunction( ((2,2),(2,-2)) )

, тогда как следующее не работает

X = MyFunction( numpy.array(((2,2),(2,-2))) )
X = MyFunction( [[2,2],[2,-2]] )

К сожалению, аргумент, который я хотел бы использовать, приходит ко мне в виде пустого массива. Этот массив всегда имеет размеры 2xN для некоторого N, что может быть довольно большим.

Есть ли простой способ преобразовать это в кортеж? Я знаю, что мог бы просто выполнить цикл, создав новый кортеж, но предпочел бы, чтобы был какой-то хороший доступ, который предоставляет массив numpy.

Если это невозможно сделать так хорошо, как я надеюсь, как лучше всего это сделать с помощью цикла или чего-то еще?

95
задан Mike 4 April 2012 в 17:33
поделиться