Programa de Python para ordenar el diccionario por longitudes de clave

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

Deja una respuesta

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