Dadas dos listas de diccionarios con posibles claves duplicadas, escriba un programa Python para realizar la combinación.
Ejemplos:
Entrada : test_list1 = [{“gfg”: 1, “best”: 4}, {“geeks”: 10, “good”: 15}, {“love”: “gfg”}], test_list2 = [{“gfg” ”: 6}, {“mejor”: 3, “para”: 10, “geeks”: 1}, {“gfg”: 10}]
Salida : [{‘gfg’: 1, ‘mejor’: 4}, {‘geeks’: 10, ‘good’: 15, ‘better’: 3, ‘for’: 10}, {‘love’: ‘gfg’, ‘gfg’: 10}]
Explicación : gfg mientras se fusiona conserva el valor de 1, y «mejor» se agrega al diccionario como clave del primer diccionario de otra lista (mismo índice).
Entrada : test_list1 = [{“gfg”: 1, “best”: 4}, {“love”: “gfg”}], test_list2 = [{“gfg”: 6}, {“gfg”: 10}]
Salida : [{‘gfg’: 1, ‘best’: 4}, {‘love’: ‘gfg’, ‘gfg’: 10}]
Explicación : gfg mientras se fusiona conserva el valor de 1, y «mejor» se agrega al diccionario como clave del primer diccionario de otra lista (mismo índice).
Enfoque: usando bucle + teclas()
En esto, reconstruimos el par de valores clave de acuerdo con todas las claves que no se repiten, verificando usando el operador in y extrayendo claves usando keys().
Python3
# Python3 code to demonstrate working of # Merge Dictionaries List with duplicate Keys # Using loop + keys() # initializing lists test_list1 = [{"gfg": 1, "best": 4}, {"geeks": 10, "good": 15}, {"love": "gfg"}] test_list2 = [{"gfg": 6}, {"better": 3, "for": 10, "geeks": 1}, {"gfg": 10}] # printing original lists print("The original list 1 is : " + str(test_list1)) print("The original list 2 is : " + str(test_list2)) for idx in range(0, len(test_list1)): # getting keys of corresponding index id_keys = list(test_list1[idx].keys()) for key in test_list2[idx]: # checking for keys presence if key not in id_keys: test_list1[idx][key] = test_list2[idx][key] # printing result print("The Merged Dictionary list : " + str(test_list1))
Producción:
La lista original 1 es: [{‘gfg’: 1, ‘best’: 4}, {‘geeks’: 10, ‘good’: 15}, {‘love’: ‘gfg’}]
La lista original 2 es : [{‘gfg’: 6}, {‘better’: 3, ‘for’: 10, ‘geeks’: 1}, {‘gfg’: 10}]
La lista del diccionario combinado: [{‘gfg’: 1 , ‘mejor’: 4}, {‘geeks’: 10, ‘bueno’: 15, ‘mejor’: 3, ‘para’: 10}, {‘amor’: ‘gfg’, ‘gfg’: 10}]
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