A veces, mientras trabajamos con datos de registros de Python, podemos tener un problema en el que necesitamos realizar la concatenación de valores de string de claves haciendo coincidir una clave particular como ID. Este tipo de problema puede tener aplicación en el dominio del desarrollo web. Vamos a discutir cierta forma en que se puede realizar esta tarea.
Entrada : test_list = [{‘id’: 17, ‘gfg’: ‘geeksfor’}, {‘id’: 12, ‘gfg’: ‘geeks’}, {‘id’: 34, ‘gfg’: ‘bueno ‘}]
Salida : [{‘id’: 17, ‘gfg’: ‘geeksfor’}, {‘id’: 12, ‘gfg’: ‘geeks’}, {‘id’: 34, ‘gfg’: ‘ bueno’}]Entrada : test_list = [{‘id’: 1, ‘gfg’: ‘geeksfor’}, {‘id’: 1, ‘gfg’: ‘geeks’}, {‘id’: 1, ‘gfg’: ‘bueno ‘}]
Salida : [{‘id’: 1, ‘gfg’: ‘geeksforgeeksgood’}]
Método #1: Usar bucle
Esta es una forma de resolver este problema. En esto, verificamos cada clave y luego realizamos la fusión sobre la base de la clave de igualdad y realizamos la concatenación de la clave requerida en particular en el enfoque de fuerza bruta.
# Python3 code to demonstrate working of # Concatenate String values in Dictionary List # Using loop # initializing list test_list = [{'gfg' : "geeksfor", 'id' : 12, 'best' : (1, 2)}, {'gfg' : "geeks", 'id' : 12, 'best' : (6, 2)}, {'gfg' : "good", 'id' : 34, 'best' : (7, 2)}] # printing original list print("The original list is : " + str(test_list)) # initializing compare key comp_key = 'id' # initializing concat key conc_key = 'gfg' # Concatenate String values in Dictionary List # Using loop res = [] for ele in test_list: temp = False for ele1 in res: if ele1[comp_key] == ele[comp_key]: ele1[conc_key] = ele1[conc_key] + ele[conc_key] temp = True break if not temp: res.append(ele) # printing result print("The converted Dictionary list : " + str(res))
El diccionario original: {‘gfg’: {‘is’: [6, 7, 8], ‘best’: [1, 9, 4]}}
Las combinaciones posibles: {‘gfg5’: {‘is’: 7, ‘best’: 4}, ‘gfg3’: {‘is’: 7, ‘best’: 1}, ‘gfg8’: {‘is’: 8, ‘mejor’: 4}, ‘gfg2’: {‘es’: 6, ‘mejor’: 4}, ‘gfg6’: {‘es’: 8, ‘mejor’: 1}, ‘gfg0’: { ‘es’: 6, ‘mejor’: 1}, ‘gfg1’: {‘es’: 6, ‘mejor’: 9}, ‘gfg7’: {‘es’: 8, ‘mejor’: 9}, ‘ gfg4’: {‘es’: 7, ‘mejor’: 9}}
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