Dada una lista de diccionarios, elimine todos los diccionarios que estén duplicados con respecto a la tecla K.
Entrada : test_list = [{“Gfg”: 6, “es”: 9, “mejor”: 10}, {“Gfg”: 8, “es”: 11, “mejor”: 10}, {“Gfg”: 2, «es»: 16, «mejor»: 10}], K = «mejor»
Salida : [{«Gfg»: 6, «es»: 9, «mejor»: 10}]
Explicación : todas las teclas tienen 10 valor, solo se retiene el primer registro.Entrada : test_list = [{“Gfg”: 6, “es”: 9, “mejor”: 10}, {“Gfg”: 8, “es”: 11, “mejor”: 12}, {“Gfg”: 2, “es”: 16, “mejor”: 15}], K = “mejor”
Salida : [{“Gfg”: 6, “es”: 9, “mejor”: 10}, {“Gfg”: 8 , «es»: 11, «mejor»: 12}, {«Gfg»: 2, «es»: 16, «mejor»: 15}]
Explicación : todos los valores de «mejor» son únicos, por lo tanto, no se eliminan los diccionarios .
Método: Usar bucle
Esta es la forma bruta en la que se puede realizar esta tarea. En esto, iteramos para cada diccionario y memorizamos la clave, si ocurre el mismo valor de clave similar, entonces ese diccionario se evita en la lista resultante de diccionarios.
Python3
# Python3 code to demonstrate working of # Remove Duplicate Dictionaries characterized by Key # Using loop # initializing lists test_list = [{"Gfg" : 6, "is" : 9, "best" : 10}, {"Gfg" : 8, "is" : 11, "best" : 19}, {"Gfg" : 2, "is" : 16, "best" : 10}, {"Gfg" : 12, "is" : 1, "best" : 8}, {"Gfg" : 22, "is" : 6, "best" : 8}] # printing original list print("The original list : " + str(test_list)) # initializing Key K = "best" memo = set() res = [] for sub in test_list: # testing for already present value if sub[K] not in memo: res.append(sub) # adding in memo if new value memo.add(sub[K]) # printing result print("The filtered list : " + str(res))
La lista original: [{‘Gfg’: 6, ‘is’: 9, ‘best’: 10}, {‘Gfg’: 8, ‘is’: 11, ‘best’: 19}, {‘Gfg’: 2, ‘es’: 16, ‘mejor’: 10}, {‘Gfg’: 12, ‘es’: 1, ‘mejor’: 8}, {‘Gfg’: 22, ‘es’: 6, ‘mejor ‘: 8}]
La lista filtrada: [{‘Gfg’: 6, ‘is’: 9, ‘best’: 10}, {‘Gfg’: 8, ‘is’: 11, ‘best’: 19}, {‘Gfg’: 12, ‘es’: 1, ‘mejor’: 8}]
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