A veces, mientras trabajamos con los diccionarios de Python, podemos tener un problema en el que necesitamos realizar el orden personalizado de las claves del diccionario. Este es un problema bastante popular, con la llegada de la nueva versión de Python, donde las claves se ordenan en los diccionarios, es posible que sea necesario reordenar las claves del diccionario. Analicemos ciertas formas en que se puede realizar esta tarea.
Entrada : test_dict = {‘gfg’: 1, ‘es’: 2, ‘mejor’: 3, ‘para’: 4, ‘geeks’: 5}
Salida : {‘gfg’: 1, ‘es’: 2, ‘mejor’: 3, ‘para’: 4, ‘geeks’: 5}Entrada : test_dict = {‘geeks’: 5, ‘para’: 4, ‘mejor’: 3, ‘es’: 2, ‘gfg’: 1}
Salida : {‘gfg’: 1, ‘es’: 2, ‘mejor’: 3, ‘para’: 4, ‘geeks’: 5}
Método n.º 1: Uso del bucle
Esta es una forma de fuerza bruta para resolver este problema. En esto, construimos el diccionario más nuevo agregando las claves en la lista de orden, mapeando con claves en el diccionario original. Funciona con Python >= 3.6.
# Python3 code to demonstrate working of # Custom order dictionary # Using loop # initializing dictionary test_dict = {'is' : 2, 'for' : 4, 'gfg' : 1, 'best' : 3, 'geeks' : 5} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing order ord_list = ['gfg', 'is', 'best', 'for', 'geeks'] # Custom order dictionary # Using loop res = dict() for key in ord_list: res[key] = test_dict[key] # printing result print("Ordered dictionary is : " + str(res))
El diccionario original es: {‘is’: 2, ‘for’: 4, ‘gfg’: 1, ‘best’: 3, ‘geeks’: 5} El
diccionario ordenado es: {‘gfg’: 1, ‘is’ : 2, ‘mejor’: 3, ‘para’: 4, ‘geeks’: 5}
Método #2: Uso de la comprensión del diccionario
Esta es otra forma más en la que se puede realizar esta tarea. En esto, usamos taquigrafía para resolver el problema usando el mismo método anterior.
# Python3 code to demonstrate working of # Custom order dictionary # Using dictionary comprehension # initializing dictionary test_dict = {'is' : 2, 'for' : 4, 'gfg' : 1, 'best' : 3, 'geeks' : 5} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing order ord_list = ['gfg', 'is', 'best', 'for', 'geeks'] # Custom order dictionary # Using dictionary comprehension res = {key : test_dict[key] for key in ord_list} # printing result print("Ordered dictionary is : " + str(res))
El diccionario original es: {‘is’: 2, ‘for’: 4, ‘gfg’: 1, ‘best’: 3, ‘geeks’: 5} El
diccionario ordenado es: {‘gfg’: 1, ‘is’ : 2, ‘mejor’: 3, ‘para’: 4, ‘geeks’: 5}
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