swigでtypemapを使用してPythonリストを変換する方法。例えば :
lst = [1.0,2.0,3.3] (Python list)
に渡す
void print_arg(double *lst){} (c/c++ function)
このためのswigインターフェースファイルを作成するにはどうすればよいですか。
これを行う方法は、SWIG と carrays と cpointer を使用することです
サンプルコードは次のとおりです。
SWIG インターフェース
%include "carrays.i"
%array_class(double, doubleArray);
Python モジュール
LEVEL = 3
thre = [1, 100, 10000]
a = example.doubleArray(LEVEL)
for i in xrange(LEVEL):
a[i] = thre[i]
gd=example.GradedDouble(LEVEL,a)
上記は私にとって実際の例です...目的に応じてコードを変更してください...