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