Diccionario dado, ordenar por longitudes de clave.
Entrada : test_dict = {“Gfg”: 4, “es”: 1, “mejor”: 0, “para”: 3, “geeks”: 3}
Salida : {‘es’: 1, ‘Gfg’: 4, ‘for’: 3, ‘best’: 0, ‘geeks’: 3}
Explicación : 2 < 3 = 3 < 4 < 5, se ordenan las longitudes en orden.Entrada : test_dict = {“Gfg”: 4, “for”: 3, “geeks”: 3}
Salida : {‘Gfg’: 4, ‘for’: 3, ‘geeks’: 3}
Explicación : 3 = 3 < 5, se ordenan las longitudes en orden.
Método #1: Usar len() + sort() + comprensión de diccionario + items()
En esto, realizamos la tarea de ordenar usando sort(), items() se usa para obtener un par de tuplas del diccionario, len() obtiene las longitudes de las claves. Luego, la comprensión del diccionario realiza la tarea de volver a convertir al diccionario.
Python3
# Python3 code to demonstrate working of # Sort Dictionary by Key Lengths # Using len() + sort() + dictionary comprehension + items() def get_len(key): return len(key[0]) # initializing dictionary test_dict = {"Gfg" : 4, "is" : 1, "best" : 0, "for" : 3, "geeks" : 3} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # sorting using sort() # external to render logic test_dict_list = list(test_dict.items()) test_dict_list.sort(key = get_len) # reordering to dictionary res = {ele[0] : ele[1] for ele in test_dict_list} # printing result print("The sorted dictionary : " + str(res))
Producción:
El diccionario original es: {‘Gfg’: 4, ‘is’: 1, ‘best’: 0, ‘for’: 3, ‘geeks’: 3}
El diccionario ordenado: {‘is’: 1, ‘Gfg’ : 4, ‘para’: 3, ‘mejor’: 0, ‘geeks’: 3}
Método n.º 2: Usar sorted() + función lambda + items() + comprensión del diccionario
En esto, realizamos la tarea de ordenar usando sorted(), la función lambda se usa para proporcionar la lógica de obtener longitudes de clave.
Python3
# Python3 code to demonstrate working of # Sort Dictionary by Key Lengths # Using sorted() + lambda function + items() + dictionary comprehension # initializing dictionary test_dict = {"Gfg" : 4, "is" : 1, "best" : 0, "for" : 3, "geeks" : 3} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # sorting using sorted() # lambda fnc. to render logic test_dict_list = sorted(list(test_dict.items()), key = lambda key : len(key[0])) # reordering to dictionary res = {ele[0] : ele[1] for ele in test_dict_list} # printing result print("The sorted dictionary : " + str(res))
Producción:
El diccionario original es: {‘Gfg’: 4, ‘is’: 1, ‘best’: 0, ‘for’: 3, ‘geeks’: 3}
El diccionario ordenado: {‘is’: 1, ‘Gfg’ : 4, ‘para’: 3, ‘mejor’: 0, ‘geeks’: 3}
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