NumPy配列をタプルに変換する 質問する

NumPy配列をタプルに変換する 質問する

注記:これは、通常のタプルから配列への変換の逆を要求しています。

ネストされたタプルとして(ラップされたC++)関数に引数を渡す必要があります。たとえば、次のコードは機能します。

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

一方、次のしないでください

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

残念ながら、私が使用したい引数は、numpy 配列として取得されます。その配列の次元は常に 2xN ですが、N がいくらかあるため、かなり大きくなる可能性があります。

これをタプルに変換する簡単な方法はありますか? ループして新しいタプルを作成できることはわかっていますが、numpy 配列が提供する便利なアクセスがあればもっといいと思います。

これを思ったほどうまく実行できない場合、ループなどを使用して最もきれいに実行する方法は何でしょうか?

ベストアンサー1

>>> arr = numpy.array(((2,2),(2,-2)))
>>> tuple(map(tuple, arr))
((2, 2), (2, -2))

おすすめ記事