Dada la Lista de diccionarios, ordene los diccionarios en función del i-ésimo valor de índice de Key
Entrada : [{“Gfg”: “Best”, “for”: “Geeks”}, {“Gfg”: “Good”, “for”: “Me”}, {“Gfg”: “Better”, “for ”: “Todos”}], K = “Gfg”, i = 1
Salida : [{‘Gfg’: ‘Mejor’, ‘para’: ‘Geeks’}, {‘Gfg’: ‘Mejor’, ‘para’ : ‘All’}, {‘Gfg’: ‘Good’, ‘for’: ‘Me’}]
Explicación : ordenar en orden de e = e < o, como primer elemento de índice del valor de «Gfg».Entrada : [{“Gfg”: “Best”, “for”: “Geeks”}, {“Gfg”: “Good”, “for”: “Me”}, {“Gfg”: “Better”, “for ”: “Todos”}], K = “Gfg”, i = 0
Salida : [{‘Gfg’: ‘Mejor’, ‘para’: ‘Geeks’}, {‘Gfg’: ‘Mejor’, ‘para’ : ‘All’}, {‘Gfg’: ‘Good’, ‘for’: ‘Me’}]
Explicación : ordenar en orden de B = B < G, como primer elemento de índice del valor de «Gfg».
Método #1: Usar sort() + lambda
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, realizamos la tarea de clasificar usando sort() y la función lambda en la condición de unidades de parámetro «clave».
Python3
# Python3 code to demonstrate working of # Sort Dictionary List by Key's ith Index value # Using sort() + lambda # initializing lists test_list = [{"Gfg" : "Best", "for" : "Geeks"}, {"Gfg" : "Good", "for" : "Me"}, {"Gfg" : "Better", "for" : "All"}] # printing original list print("The original list : " + str(test_list)) # initializing K K = "Gfg" # initializing i i = 2 # using sort to perform sort(), lambda # function drives conditions res = sorted(test_list, key = lambda sub: sub[K][i]) # printing result print("List after sorting : " + str(res))
La lista original: [{‘Gfg’: ‘Best’, ‘for’: ‘Geeks’}, {‘Gfg’: ‘Good’, ‘for’: ‘Me’}, {‘Gfg’: ‘Better’, ‘for’: ‘All’}]
Lista después de ordenar: [{‘Gfg’: ‘Good’, ‘for’: ‘Me’}, {‘Gfg’: ‘Best’, ‘for’: ‘Geeks’}, {‘Gfg’: ‘Mejor’, ‘para’: ‘Todos’}]
Método #2: Usar sort() + lambda + get()
La combinación de las funciones anteriores también puede resolver este problema. Esta es solo una ligera variación del método anterior. En esto, usamos get() para evitar posibilidades de que la clave no esté presente en un registro en particular.
Python3
# Python3 code to demonstrate working of # Sort Dictionary List by Key's ith Index value # Using sort() + lambda + get() # initializing lists test_list = [{"Gfg" : "Best", "for" : "Geeks"}, {"Gfg" : "Good", "for" : "Me"}, {"Gfg" : "Better", "for" : "All"}] # printing original list print("The original list : " + str(test_list)) # initializing K K = "Gfg" # initializing i i = 2 # using sort to perform sort(), lambda # function drives conditions, get() used to # avoid missing key error res = sorted(test_list, key = lambda sub: sub.get(K)[i]) # printing result print("List after sorting : " + str(res))
La lista original: [{‘Gfg’: ‘Best’, ‘for’: ‘Geeks’}, {‘Gfg’: ‘Good’, ‘for’: ‘Me’}, {‘Gfg’: ‘Better’, ‘for’: ‘All’}]
Lista después de ordenar: [{‘Gfg’: ‘Good’, ‘for’: ‘Me’}, {‘Gfg’: ‘Best’, ‘for’: ‘Geeks’}, {‘Gfg’: ‘Mejor’, ‘para’: ‘Todos’}]
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