主要内容

使用Python列表MATLAB中的变量

这个例子展示了如何使用Python®列表变量在MATLAB®。

要调用接受列表输入参数,创建一个py.list变量。要将列表转换为MATLAB变量,调用细胞函数,然后调用列表中的每个元素的适当转换函数。

调用需要的Python函数列表输入参数

Pythonlen函数返回容器中的项数,其中包含列表对象。

py.help (“兰”
len(obj, /)返回容器中项目的数量。

调用os.listdir来创建Python列表名为的节目P

P = py.os.listdir (“c:\ program files \ matlab”);班级(P)
ans = ' py.list '

显示程序的数量。

py.len (P)
ans = python int属性:分母:[1×1 py.int] imag:[1×1 py.int]数码器:[1×1 py.int] Real:[1×1 py.int] 7

显示一个元素。

p {2}
ans =不带属性的Python str。R2016b

索引到Python列表

使用MATLAB索引显示列表中的元素。例如,显示列表.MATLAB返回一个Python列表

P(结束)
ans =没有属性的Python列表。(“R2020a”)

类中的列表也可以迭代循环。

n = P P (n{1})结束
没有属性的Python str。R2014b不带属性的Python str。R2016b不带属性的Python str。R2017b不带属性的Python str。R2018b不带属性的Python str。R2019a没有属性的Python str。R2019b不带属性的Python str。R2020a

转换为Python列表键入matlab类型

这段代码显示列表P使用MATLAB变量。调用细胞转换列表。该列表由Python字符串组成,因此调用字符函数转换单元格数组的元素。

cP =细胞(P);

每个单元元素名称是Python字符串。

类(cP {1})
ans ='py.str'

将Python字符串转换为MATLAB数据使用字符函数。

cellP = cellfun (@char、细胞(P)、“UniformOutput”,假);

显示的名字。

n = 1:numel(cP) disp(cellP{n})结束
R2014b R2016b R2017b R2018b R2019a R2019b R2020a

在MATLAB中使用Python数值类型列表

一个蟒蛇列表包含任何类型的元素,并且可以包含混合类型的元素。MATLAB此代码中使用的功能假定Python的所有元素列表是数字。

假设你有一个Python函数,它返回列表整数P.要运行此代码,请创建具有这些值的变量。

p = py.list({int32(1),int32(2),int32(3),int32(4)})
p =没有属性的Python列表。[1,2,3,4]

显示数值的数字类型。

类(P {1})
ans ='py.int'

转换P到MATLAB单元阵列。

cP =细胞(P);

将单元格数组转换为Matlab数组

= cellfun (@double cP)
一个=1×41 2 3 4

读取嵌套元素列表类型

此代码访问Python的一个元素列表变量包含列表元素。假设你有这个列表

矩阵= py。列表({{1, 2, 3, 4},{“你好”“世界”}, {9 10}});

显示元素“世界”,它是索引(2, 2)

disp (char(矩阵{2}{2}))
世界

显示Python元素的阶梯范围

如果使用分段访问Python对象的元素,Python中的格式为启动:停止:一步.在MATLAB中,语法是形式开始:步骤:停止

李= py.list ({“一个”“公元前”, 1 2“def”});李(1:2)
ans =没有属性的Python列表。[a, 1.0,“def”)