¿Cómo realiza Python cálculos sobre datos en un diccionario?
Necesitamos realizar varios cálculos sobre los datos del diccionario, como: valor máximo, valor mínimo, clasificación, etc. 2. Solución
La función zip() se utiliza para tomar un objeto iterable como parámetro, empaquetar los elementos correspondientes del objeto en una tupla y luego devolver una lista compuesta por estas tuplas.
Supongamos que hay un diccionario que asigna los nombres de las acciones y los precios correspondientes:
prices={
'ACME': 45,23,
'AAPL': 612,78,
'IBM': 205,55,
'HPQ': 37,20,
'FB': 10,75
}Para poder realizar algunos cálculos útiles sobre el contenido de un diccionario, la función zip() se utiliza a menudo para invertir las claves y valores del diccionario.
precios={
'ACME': 45,23,
'AAPL': 612,78,
'IBM': 205,55,
'HPQ': 37,20,
'FB': 10,75
}
#Encuentra el precio más bajo para poner en stock p>
p>
min_price=min(zip(prices.values(),prices.keys()))
print(min_price)
#Encontrar el precio más alto para poner en stock
max_price=max(zip(), 'FB': 10,75
}
#Encuentre el precio más alto para poner en stock
max_price=max(zip(), 'FB': 10.75
}
#Encuentra el precio de la acción más baja en precio.precios .values(), price.keys()))
print(max_price)
#De manera similar, para ordenar los datos, simplemente use zip() y sorted()
prices_sorted=sorted(zip(price.values())
prices.keys()))
print(prices_sorted)Resultado de ejecución:
(10.75 , 'FB')
(612.78, 'AAPL')
[(10.75, 'FB') , (37.2, 'HPQ') , (45.23, ' ACME') , (205.55, 'IBM'), (612.78, 'AAPL')] Tenga en cuenta que el iterador creado por zip() solo se puede usar una vez, por ejemplo, de la siguiente manera
zip_price= zip(price .values(), price.keys())
min_price=min(zip_price) #ok
min_price=min(zip_price) #Reportar un error