主要内容

MATLABでのPython列表変数の使用

この例では,MATLAB®でPython®の列表変数を使用する方法を説明します。

列表入力引数を取るPython関数を呼び出すには,変数py.listを作成します。リストをmatlab変数に変換するには,関数细胞を呼び出し,その後リスト内の要素ごとに適切な変換関数を呼び出します。

列表入力引数を取るPython関数の呼び出し

Python関数lenは、コンテナ、内のア、テムの数を返しますが、これには列表オブジェクトも含まれます。

py.help (“兰”
模块builtins中内置函数len的帮助:len(obj, /)返回容器中的项数。

os.listdirを呼び出して,Pという名前をも,プログラムのPython列表を作成します。

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

1の要素を表示します。

P {2}
ans = Python str,没有属性。R2016b

Pythonリストへのescンデックス付け

Matlabのaapl . exeンデックスを使用して,リストの要素を表示します。たとえば,列表の最後の要素を表示します。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文字列で構成されているため,関数字符を呼び出してcell配列の要素を変換します。

cP = cell(P);

各cell要素名は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リストの使用

Python列表にはあらゆる型の要素が含まれており,型が混在している場合もあります。以下のコドで使用されるmatlab関数では,Python列表のすべての要素が数値であると仮定しています。

整数の列表であるPを返すPython関数があるとします。このコ、ドを実行するために、次の値をも、変数を作成します。

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}});

ンデックス(2, 2)にある要素“世界”を表示します。

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

ステップ指定したPython要素範囲の表示

スラ▪▪▪▪Pythonオブジェクトの要素にアクセスする場合;Pythonでの形式は启动:停止:一步となります。MATLABでの構文形式は开始:步骤:停止です。

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