Utilizar variables dict de Python en MATLAB
En este ejemplo se muestra cómo utilizar las variables de diccionario (dict) de Python® en MATLAB®.
Para llamar a una función de Python que tome un argumento de entrada dict, cree una variable py.dict. Para convertir un dict a una variable de MATLAB, llame a la función struct.
Crear una variable dict de Python
Cree una variable dict para pasarla a una función de Python.
studentID = py.dict(Robert=357,Mary=229,Jack=391)
studentID =
Python dict with no properties.
{'Robert': 357.0, 'Mary': 229.0, 'Jack': 391.0}
De forma alternativa, cree una estructura de MATLAB y conviértala a una variable 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}
Utilizar el tipo dict de Python en MATLAB
Para convertir un tipo dict devuelto desde una función de Python a una variable de MATLAB, llame a struct.
Suponga que tiene una función de Python que devuelve elementos de menú y precios en un objeto dict denominado order. Para ejecutar este código en MATLAB, cree esta variable.
order = py.dict(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}
Convierta order a una variable de MATLAB.
myOrder = struct(order)
myOrder = struct with fields:
soup: 3.5700
bread: 2.2900
bacon: 3.9100
salad: 5
Muestre el precio del beicon utilizando una sintaxis de MATLAB.
price = myOrder.bacon
price = 3.9100
Muestre el precio del beicon utilizando una sintaxis de Python. El tipo de variable price es doble y puede usarlo en MATLAB.
price = order{"bacon"}price = 3.9100
Un diccionario tiene pares de claves y valores. Muestre los elementos del menú en la variable order utilizando la función keys de Python.
keys(order)
ans =
Python dict_keys with no properties.
dict_keys(['soup', 'bread', 'bacon', 'salad'])
Muestre todos los precios utilizando la función values de Python.
values(order)
ans =
Python dict_values with no properties.
dict_values([3.57, 2.29, 3.91, 5.0])
Pasar un argumento dict al método de Python
La clase dict de Python tiene un método update. Para ejecutar este código, cree una variable dict de pacientes y resultados de pruebas.
patient = py.dict(name="John Doe", ... test1= [], ... test2= [220.0, 210.0, 205.0], ... test3= [180.0, 178.0, 177.5]);
Convierta el nombre del paciente a una cadena de MATLAB.
string(patient{"name"})ans = "John Doe"
Actualice y muestre los resultados de test1 utilizando el método update.
update(patient,py.dict(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