Мне удалось найти два способа, которые фактически работают при преобразовании этого игрушечного массива в надлежащие массивы Python.
import com.chaquo.python.*;
Python py = Python.getInstance();
PyObject np = py.getModule("numpy");
PyObject anchors_final = np.callAttr("array", anchors[0]);
anchors_final = np.callAttr("expand_dims", anchors_final, 0);
for (int i=1; i < anchors.length; i++){
PyObject temp_arr = np.callAttr("expand_dims", anchors[i], 0);
anchors_final = np.callAttr("append", anchors_final, temp_arr, 0);
}
// Then you can pass it to your Python file to do whatever
- В Python (более простой способ)
После передачи массива в вашу функцию Python, используя, например:
import com.chaquo.python.*;
Python py = Python.getInstance();
PyObject pp = py.getModule("file_name");
PyObject output = pp.callAttr("fnc_head", anchors);
В вашем файле Python вы можете просто сделать:
def fnc_head():
anchors = [list(x) for x in anchors]
...
return result
Они были протестированы с 2-мя массивами. Другие типы массивов, вероятно, потребуют изменений.