Main Content

list または tuple の要素の変換中のエラー

MATLAB® string および数値コンバーターを使用して Python® list 型と tuple 型を変換できます。MATLAB コンバーター関数のリストについては、Python 型から MATLAB 型への明示的な変換の表の py.list および py.tuple エントリを参照してください。

一部の変換関数では、異なる型の list または tuple 要素の変換はサポートされていません。

たとえば、double の array.array を MATLAB の double に変換できます。

a = py.array.array('d', [1,2,3,4]);
double(a)
ans =

     1     2     3     4

a を異なる数値型のリストに入れると、double 変換が失敗します。

l = py.list({3.14, a});
double(l)
Error using py.list/double
Conversion of Python element at position 2 to type 'double' failed.

代わりに関数 cell を使用します。

cell(l)
ans =

  1×2 cell array

    {[3.1400]}    {1×1 py.array.array}

一部の変換関数は、要求された型に変換できない要素を含むリストまたはタプルで機能しない場合があります。

double(py.list({3.0, 'MATLAB'}))
Error using py.list/double
Conversion of Python element at position 2 to type 'double' failed. All
Python elements must be convertible as scalar to the requested type.

関連するトピック