Чтобы работать с переменной Python® в MATLAB®, преобразуйте объект Python в массив MATLAB, и затем индексируйте в массив по мере необходимости. Можно также сохранить объект Python без преобразования, например, чтобы передать объект методу Python.
Контейнер Python обычно является типом последовательности (list
или tuple
) или типом отображения (dict
). В Python используйте квадратные скобки []
или функция operator.getitem
, чтобы получить доступ к элементу в контейнере. Скалярные аргументы string
могут использоваться, чтобы индексировать в контейнер.
Типы последовательности Python ведут себя как массивы ячеек MATLAB.
Получите подпоследовательность с помощью сглаженной круглой скобки индексация ()
.
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 преобразовывает тип последовательности в 1
-by-N
массив.
Python использует основанную на нуле индексацию; MATLAB использует индексацию на основе одну. Когда вы вызываете функцию Python, такую как py.sys.path
, индексным значением первого элемента контейнера Python, x
, является int32(0)
. Индексным значением для последнего элемента является int32(py.len(x)-1)
.