Programa de Python para encontrar el segundo valor máximo en el Diccionario

Los diccionarios en Python son lo mismo que las arrays asociativas o los mapas en otros idiomas. A diferencia de las listas, los diccionarios almacenan datos en pares clave-valor.
Veamos cómo encontrar el segundo valor máximo en un diccionario de Python.
Método #1: Enfoque ingenuo: 
un enfoque general es encontrar el valor más grande del diccionario y luego iterar sobre el diccionario manteniendo el valor que debe ser mayor que todos los demás valores y menor que el valor máximo.

Python3

# Python naive approach to find the
# second largest element in a dictionary
 
# creating a new dictionary
new_dict ={"google":12, "amazon":9, "flipkart":4, "gfg":13}
 
# maximum value
max = max(new_dict.values())
 
# iterate through the dictionary
max2 = 0
for v in new_dict.values():
     if(v>max2 and v<max):
            max2 = v
 
# print the second largest value
print(max2)
Producción: 

12

 

Método #2: Usar el método sorted() 
Podemos encontrar el segundo valor más grande en un diccionario ordenando los valores de los diccionarios y luego recuperando el penúltimo elemento de la lista ordenada. 

Python3

# Python code to find second largest
# element from a dictionary using sorted() method
 
# creating a new Dictionary
example_dict = {"mark": 13, "steve": 3, "bill": 6, "linus": 11}
 
# now directly print the second largest
# value in the dictionary
print("Output1:", sorted(example_dict.values())[-2])
 
# More than 1 keys with maximum value are present
example_dict = {"fb": 20, "whatsapp": 12, "instagram": 20, "oculus": 10}
print("Output2:", sorted(set(example_dict.values()), reverse=True)[-2])
Producción: 

11

 

Explicación: example_dict.values() da una lista de todos los valores en el diccionario. sorted() ordenará la lista de dict_values. list(sorted(example_dict.values()))[-2] convierte dict_values ​​en list y devuelve el penúltimo elemento de la lista ordenada, es decir, el segundo valor más grande del diccionario. 
si hay más de un valor máximo en el diccionario, como se muestra en el segundo ejemplo, la conversión de los valores del diccionario a un conjunto eliminará los duplicados. 

Publicación traducida automáticamente

Artículo escrito por Adarsh_Verma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *