主要内容

使用Python列表MATLAB中的变量

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

调用Python函数,该函数接受列表输入参数,创建一个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 disp(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”)