A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos obtener todas las combinaciones posibles de pares de diccionarios. Este tipo de aplicaciones pueden ocurrir en el dominio de la ciencia de datos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso de la comprensión de listas +enumerate()
En este método, solo iteramos el diccionario a través de la comprensión de listas y construimos los pares de claves e insertamos en una nueva lista. La función de enumeración se utiliza para unir los elementos clave accediendo a los índices.
# Python3 code to demonstrate working of # Dictionary key combinations # Using list comprehension + enumerate() # Initializing dict test_dict = {'gfg' : 1, 'is' : 2, 'the' : 3, 'best' : 4} # printing original dict print("The original dict is : " + str(test_dict)) # Dictionary key combinations # Using list comprehension + enumerate() test_dict = list(test_dict) res = [(x, y) for idx, x in enumerate(test_dict) for y in test_dict[idx + 1: ]] # printing result print("The dictionary key pair list is : " + str(res))
The original dict is : {'is': 2, 'the': 3, 'best': 4, 'gfg': 1} The dictionary key pair list is : [('is', 'the'), ('is', 'best'), ('is', 'gfg'), ('the', 'best'), ('the', 'gfg'), ('best', 'gfg')]
Método #2: Usaritertools.combinations()
Esta tarea se puede realizar usando la funcionalidad de combinations()
, que internamente toma solo las claves para formar los pares de elementos.
# Python3 code to demonstrate working of # Dictionary key combinations # Using itertools.combinations() import itertools # Initializing dict test_dict = {'gfg' : 1, 'is' : 2, 'the' : 3, 'best' : 4} # printing original dict print("The original dict is : " + str(test_dict)) # Dictionary key combinations # Using itertools.combinations() res = list(itertools.combinations(test_dict, 2)) # printing result print("The dictionary key pair list is : " + str(res))
The original dict is : {'is': 2, 'the': 3, 'best': 4, 'gfg': 1} The dictionary key pair list is : [('is', 'the'), ('is', 'best'), ('is', 'gfg'), ('the', 'best'), ('the', 'gfg'), ('best', 'gfg')]
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