A veces, mientras trabajamos con datos de diccionario, podemos tener problemas en los que necesitamos realizar una agrupación basada en substrings de claves y reformar los datos agrupados en claves similares. Esto puede tener aplicación en el preprocesamiento de datos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso del bucle
Esta es la forma bruta en la que realizamos esta tarea. En esto, verificamos el elemento usando una declaración condicional e insertamos las claves de acuerdo con la presencia de substrings.
# Python3 code to demonstrate working of # Group Similar keys in dictionary # Using loop # initializing Dictionary test_dict = {'gfg1' : 1, 'is1' : 2, 'best1' : 3, 'gfg2' : 9, 'is2' : 8, 'best2' : 7, 'gfg3' : 10, 'is3' : 5, 'best3' : 6} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Group Similar keys in dictionary # Using loop res = [] res1, res2, res3 = {}, {}, {} for key, value in test_dict.items(): if 'gfg' in key: res1[key] = value elif 'is' in key: res2[key] = value elif 'best' in key: res3[key] = value res.append(res1) res.append(res2) res.append(res3) # printing result print("The grouped similar keys are : " + str(res))
El diccionario original es: {‘best2’: 7, ‘best3’: 6, ‘is2’: 8, ‘is3’: 5, ‘best1’: 3, ‘gfg1’: 1, ‘gfg3’: 10, ‘is1 ‘: 2, ‘gfg2’: 9}
Las claves similares agrupadas son: [{‘gfg3’: 10, ‘gfg2’: 9, ‘gfg1’: 1}, {‘is2’: 8, ‘is3’: 5, ‘es1’: 2}, {‘mejor3’: 6, ‘mejor1’: 3, ‘mejor2’: 7}]
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, agrupamos la substring en claves utilizando la comprensión del diccionario.
# Python3 code to demonstrate working of # Group Similar keys in dictionary # Using dictionary comprehension # initializing Dictionary test_dict = {'gfg1' : 1, 'is1' : 2, 'best1' : 3, 'gfg2' : 9, 'is2' : 8, 'best2' : 7, 'gfg3' : 10, 'is3' : 5, 'best3' : 6} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Group Similar keys in dictionary # Using dictionary res = [] res1 = {key : val for key, val in test_dict.items() if 'gfg' in key} res2 = {key : val for key, val in test_dict.items() if 'is' in key} res3 = {key : val for key, val in test_dict.items() if 'best' in key} res.append(res1) res.append(res2) res.append(res3) # printing result print("The grouped similar keys are : " + str(res))
El diccionario original es: {‘best2’: 7, ‘best3’: 6, ‘is2’: 8, ‘is3’: 5, ‘best1’: 3, ‘gfg1’: 1, ‘gfg3’: 10, ‘is1 ‘: 2, ‘gfg2’: 9}
Las claves similares agrupadas son: [{‘gfg3’: 10, ‘gfg2’: 9, ‘gfg1’: 1}, {‘is2’: 8, ‘is3’: 5, ‘es1’: 2}, {‘mejor3’: 6, ‘mejor1’: 3, ‘mejor2’: 7}]
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