最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Python コンテナー型内の要素へのアクセス

MATLAB® で Python® 変数を使用するには、Python オブジェクトを MATLAB 配列に変換してから、必要に応じてその配列にインデックスを付けます。Python オブジェクトは、変換せずに保持することもできます。たとえば、オブジェクトを Python メソッドに渡すときなどです。

Python container は、通常、sequence 型 (list または tuple) または mapping 型 (dict) です。Python では、大かっこ [] または関数 operator.getitem を使用してコンテナー内の要素にアクセスします。スカラー string 引数を使用してコンテナーにインデックス付けすることができます。

シーケンス型

Python シーケンス型は MATLAB cell 配列のような動作をします。

サブシーケンスを取得するには、小かっこ () のインデックスを使用します。

li = py.list({1,2,3,4});
res = li(2:3)
res = 

  Python list with no properties.

    [2.0, 3.0]

要素の内容を取得するには中かっこ {} を使用します。

res = li{1}
res =

     1

型のマッピング

型をマッピングするには、Python の "キー" 引数を中かっこで指定します。

patient = py.dict(pyargs('name','John Doe','billing',127));
patient{"billing"}
ans =

   127

サイズと次元

MATLAB によってシステムの情報が表示されます。

p = py.sys.path;
class(p)
ans =

py.list

p にインデックスを付けます。

p(1)
p{1}
ans = 

  Python list with no properties.

    ['c:\\work']


ans = 

  Python str with no properties.

    c:\work

次元を確認します。

len = length(p)
sz = size(p)
len =

    11


sz =

     1    11

配列のサポート

MATLAB はシーケンス型を 1N 列の配列に変換します。

Python 関数に対して 0 ベースのインデックスを使用

Python は 0 ベースのインデックスを使用し、MATLAB は 1 ベースのインデックスを使用します。py.sys.path などの Python 関数を呼び出すと、Python コンテナー x の最初の要素のインデックス値は int32(0) となります。最後の要素のインデックス値は、int32(py.len(x)-1) です。

関連する例

詳細