dict
Переменные в MATLABВ этом примере показано, как использовать словарь Python ® (dict
) переменные в MATLAB ®.
Чтобы вызвать функцию Python, которая принимает dict
входной параметр, создайте py.dict
переменная. Преобразование dict
для переменного MATLAB вызовите struct
функция.
dict Python
ПеременнаяСоздайте dict
переменная для перехода к функции Python. The pyargs
функция создает аргументы ключевых слов.
studentID = py.dict(pyargs('Robert',357,'Mary',229,'Jack',391))
studentID = Python dict with no properties. {'Robert': 357.0, 'Mary': 229.0, 'Jack': 391.0}
Кроме того, создайте структуру MATLAB и преобразуйте ее в dict
переменная.
S = struct('Robert',357,'Mary',229,'Jack',391); studentID = py.dict(S)
studentID = Python dict with no properties. {'Robert': 357.0, 'Mary': 229.0, 'Jack': 391.0}
dict
Введите в MATLABПреобразование dict
тип, возвращенный из функции Python в переменный MATLAB, вызов struct
.
Предположим, у вас есть функция Python, которая возвращает элементы меню и цены в dict
объект с именем order
. Чтобы запустить этот код в MATLAB, создайте эту переменную.
order = py.dict(pyargs('soup',3.57,'bread',2.29,'bacon',3.91,'salad',5.00))
order = Python dict with no properties. {'soup': 3.57, 'bread': 2.29, 'bacon': 3.91, 'salad': 5.0}
Преобразование order
в переменный MATLAB.
myOrder = struct(order)
myOrder = struct with fields:
soup: 3.5700
bread: 2.2900
bacon: 3.9100
salad: 5
Отобразите цену бекона с помощью синтаксиса MATLAB.
price = myOrder.bacon
price = 3.9100
Отображать цену бекона можно с помощью синтаксиса Python. Тип переменной price
double, который можно использовать в MATLAB.
price = order{'bacon'}
price = 3.9100
Словарь имеет пары ключей и значений. Отобразите элементы меню в переменной order
использование keys
Python функция.
keys(order)
ans = Python dict_keys with no properties. dict_keys(['soup', 'bread', 'bacon', 'salad'])
Отобразите все цены с помощью values
Python функция.
values(order)
ans = Python dict_values with no properties. dict_values([3.57, 2.29, 3.91, 5.0])
dict
Аргумент в пользу метода PythonThe Python dict
класс имеет update
способ. Чтобы запустить этот код, создайте dict
переменная пациентов и результаты теста.
patient = py.dict(pyargs('name', 'John Doe', ... 'test1', [], ... 'test2', [220.0, 210.0, 205.0], ... 'test3', [180.0, 178.0, 177.5]));
Преобразуйте имя пациентов в строку MATLAB.
string(patient{'name'})
ans = "John Doe"
Обновляйте и отображайте результаты для test1
использование update
способ.
update(patient,py.dict(pyargs('test1',[79.0, 75.0, 73.0]))) P = struct(patient); disp(['test1 results for '+string(patient{'name'})+": "+num2str(double(P.test1))])
test1 results for John Doe: 79 75 73