Python: concatenar valores de string en la lista del diccionario

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)) 
Producción :

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

Deja una respuesta

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