使用Python列表
MATLAB变量
这个例子展示了如何使用Python®列表
变量在MATLAB®。
调用一个Python函数,该函数接受列表
输入参数,创建一个py.list
变量。要将列表转换为MATLAB变量,请调用细胞
函数,然后为列表中的每个元素调用适当的转换函数。
调用接受的Python函数列表
输入参数
Pythonlen
函数返回容器中的项数,其中包括列表
对象。
py.help (“兰”)
模块builtins中内置函数len的帮助:len(obj, /)返回容器中的项数。
调用os.listdir
创建一个Python列表
命名为P
.
P = py.os.listdir(“C: \ Program Files \ MATLAB”);类(P)
Ans = 'py.list'
显示程序数。
py.len (P)
ans = Python int with properties:分母:[1×1 py.int] imag: [1×1 py.int]分子:[1×1 py.int] real: [1×1 py.int
显示一个元素。
P {2}
ans = Python str,没有属性。R2016b
索引到Python列表
使用MATLAB索引显示列表中的元素。类中的最后一个元素列表
.MATLAB返回一个Python列表
.
P(结束)
ans =没有属性的Python列表。(“R2021a”)
类型中的列表也可以迭代为
循环。
为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 str。R2020b Python str,没有属性。R2021a
转换为Python列表
类型到MATLAB类型
中显示的名称列表
P
使用MATLAB变量。调用细胞
转换列表。该列表由Python字符串组成,因此调用字符
函数转换单元格数组的元素。
cP = cell(P);
每个单元格元素名称都是一个Python字符串。
类(cP {1})
Ans = 'py.str'
将Python字符串转换为MATLAB数据。
mlP = string(cell(P));
显示名称。
为n = 1:数字(cP) disp(mlP{n})结束
R2014b R2016b R2017b R2018b R2019a R2019b R2020a R2020b R2021a
在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 = cell(P);
转换单元格数组为的MATLAB数组双
.
A = cellfun(@double,cP)
一个=1×41 2 3 4
读取嵌套元素列表
类型
这段代码访问Python的一个元素列表
变量包含列表
元素。假设你有这个列表
.
矩阵= py。列表({{1, 2, 3, 4},{“你好”,“世界”}, {9 10}});
显示元素“世界”
,即at index(2, 2)
.
disp (char(矩阵{2}{2}))
世界
显示Python元素的步进范围
如果使用切片访问Python对象的元素,则Python中的格式为启动:停止:一步
.在MATLAB中,语法为开始:步骤:停止
.
Li = py.list({“一个”,“公元前”, 1 2“def”});李(1:2)
ans =没有属性的Python列表。['a', 1.0, 'def']