MATLAB的
cellfun ()
和
arrayfun ()
像Python列表理解。你可以给他们的Python函数作用于细胞或数组中的每一项。例如,如果
foo.py
有
deffoo (x):
返回2 * x
然后在MATLAB可以做
> > F = py.importlib.import_module (“foo”);
> > =二十29
20 21日22日23日24日25日26日27 28 29
> > list_l = arrayfun (@ (x) (F.foo (x)), a)
40 42 44 46 48 50 52 54 56 58
list_l
实际上是一个MATLAB矩阵,所以如果你想要一个Python列表需要转换,即
> > py.list (list_l)
Python和值列表:
(40.0,42.0,44.0,46.0,48.0,50.0,52.0,54.0,56.0,58.0)
使用字符串、双或细胞MATLAB函数转换为一个数组。