A veces, mientras trabajamos con registros de datos, podemos tener un problema en el que necesitamos realizar la clasificación de claves anidadas del diccionario por el valor de ocurrencia. Esto puede tener aplicaciones en la organización de puntuaciones, precios, etc. Analicemos una forma en que se puede realizar esta tarea.
Método n.º 1: Uso de la sorted()
expresión + lambda + generador
La combinación de los métodos anteriores se puede utilizar para realizar esta tarea. En esto, realizamos la tarea de ordenar usando sorted() y lambda y la expresión del generador se usan para enlazar y extraer valores de diccionarios.
# Python3 code to demonstrate working of # Sort Nested keys by Value # Using sorted() + generator expression + lamda # initializing dictionary test_dict = {'Nikhil' : {'English' : 5, 'Maths' : 2, 'Science' : 14}, 'Akash' : {'English' : 15, 'Maths' : 7, 'Science' : 2}, 'Akshat' : {'English' : 5, 'Maths' : 50, 'Science' : 20}} # printing original dictionary print("The original dictionary : " + str(test_dict)) # Sort Nested keys by Value # Using sorted() + generator expression + lamda res = {key : dict(sorted(val.items(), key = lambda ele: ele[1])) for key, val in test_dict.items()} # printing result print("The sorted dictionary : " + str(res))
El diccionario original: {‘Nikhil’: {‘Inglés’: 5, ‘Matemáticas’: 2, ‘Ciencia’: 14}, ‘Akash’: {‘Inglés’: 15, ‘Matemáticas’: 7, ‘Ciencia’: 2}, ‘Akshat’: {‘Inglés’: 5, ‘Matemáticas’: 50, ‘Ciencia’: 20}}
El diccionario ordenado: {‘Nikhil’: {‘Matemáticas’: 2, ‘Inglés’: 5, ‘ Ciencia’: 14}, ‘Akash’: {‘Ciencia’: 2, ‘Matemáticas’: 7, ‘Inglés’: 15}, ‘Akshat’: {‘Inglés’: 5, ‘Ciencia’: 20, ‘Matemáticas’ : 50}}
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA