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.