list
Переменные в MATLABВ этом примере показано, как использовать Python ® list
переменные в MATLAB ® .
Чтобы вызвать функцию Python, которая принимает list
входной параметр, создайте py.list
переменная. Чтобы преобразовать список в переменный MATLAB, вызовите cell
затем вызовите соответствующую функцию преобразования для каждого элемента в списке.
list
Входные параметрыThe Python len
функция возвращает количество элементов в контейнере, которое включает в себя list
объект.
py.help('len')
Help on built-in function len in module builtins: len(obj, /) Return the number of items in a container.
Функции os.listdir
для создания list
Python программ с именем
P
.
P = py.os.listdir("C:\Program Files\MATLAB");
class(P)
ans = 'py.list'
Отображение количества программ.
py.len(P)
ans = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 7
Отобразите один элемент.
P{2}
ans = Python str with no properties. R2016b
Используйте индексацию MATLAB для отображения элементов в списке. Для примера отобразите последний элемент в list
. MATLAB возвращает list
Python.
P(end)
ans = Python list with no properties. ['R2020a']
Можно также выполнить итерацию по списку в for
цикл.
for n = P disp(n{1}) end
Python str with no properties. R2014b Python str with no properties. R2016b Python str with no properties. R2017b Python str with no properties. R2018b Python str with no properties. R2019a Python str with no properties. R2019b Python str with no properties. R2020a
list Python
Тип в типы MATLABЭтот код отображает имена в list
P
использование переменного MATLAB. Функции cell
для преобразования списка. Список составлен из строк на Python, поэтому вызывайте char
функция для преобразования элементов массива ячеек.
cP = cell(P);
Каждое имя элемента камеры является строкой Python.
class(cP{1})
ans = 'py.str'
Преобразуйте строки Python в данные MATLAB с помощью char
функция.
cellP = cellfun(@char,cell(P),'UniformOutput',false);
Отобразите имена.
for n = 1:numel(cP) disp(cellP{n}) end
R2014b R2016b R2017b R2018b R2019a R2019b R2020a
A Python- list
содержит элементы любого типа и может содержать элементы смешанных типов. Система MATLAB double
функция, используемая в этом коде, принимает, что все элементы Python list
являются числовыми.
Предположим, что у вас есть функция Python, которая возвращает list
целых чисел P
. Чтобы запустить этот код, создайте переменную с этими значениями.
P = py.list({int32(1), int32(2), int32(3), int32(4)})
P = Python list with no properties. [1, 2, 3, 4]
Отображение числового типа значений.
class(P{1})
ans = 'py.int'
Преобразование P
в массив ячеек MATLAB.
cP = cell(P);
Преобразуйте массив ячеек в массив double MATLAB
.
A = cellfun(@double,cP)
A = 1×4
1 2 3 4
list
НапечататьЭтот код обращается к элементу массива list Python
переменная, содержащая list
элементы. Предположим, что у вас это list
.
matrix = py.list({{1, 2, 3, 4},{'hello','world'},{9, 10}});
Отобразите 'world'
элемента, который находится под индексом
(2,2)
.
disp(char(matrix{2}{2}))
world
Если вы используете срезание для доступа к элементам массива объекта Python, формат на Python следующий start:stop:step
. В MATLAB синтаксис имеет вид start:step:stop
.
li = py.list({'a','bc',1,2,'def'}); li(1:2:end)
ans = Python list with no properties. ['a', 1.0, 'def']