A veces, mientras trabajamos con diccionarios de Python, podemos tener un problema en el que necesitamos eliminar una clave específica de una lista de diccionarios. Este tipo de problema es muy común y tiene aplicación en casi todos los dominios, incluida la programación diaria y el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Usar loop +del
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, iteramos por todas las claves y eliminamos la clave requerida de cada diccionario usando del.
Python3
# Python3 code to demonstrate working of # Remove Key from Dictionary List # Using loop + del # initializing list test_list = [{'Gfg' : 1, 'id' : 2, 'best' : 8 }, {'Gfg' : 4, 'id' : 4, 'best': 10}, {'Gfg' : 4, 'id' : 8, 'best': 11}] # printing original list print("The original list is : " + str(test_list)) # initializing key del_key = 'id' # Remove Key from Dictionary List # Using loop + del for items in test_list: if del_key in items: del items[del_key] # printing result print("The modified list : " + str(test_list))
The original list is : [{'best': 8, 'id': 2, 'Gfg': 1}, {'best': 10, 'id': 4, 'Gfg': 4}, {'best': 11, 'id': 8, 'Gfg': 4}] The modified list : [{'best': 8, 'Gfg': 1}, {'best': 10, 'Gfg': 4}, {'best': 11, 'Gfg': 4}]
Método #2: Uso de comprensión de lista + comprensión de diccionario
Esta es otra forma en la que se puede realizar esta tarea. En esto, reconstruimos cada diccionario eliminando la clave específica de él.
Python3
# Python3 code to demonstrate working of # Remove Key from Dictionary List # Using list comprehension + dictionary comprehension # initializing list test_list = [{'Gfg' : 1, 'id' : 2, 'best' : 8 }, {'Gfg' : 4, 'id' : 4, 'best': 10}, {'Gfg' : 4, 'id' : 8, 'best': 11}] # printing original list print("The original list is : " + str(test_list)) # initializing key del_key = 'id' # Remove Key from Dictionary List # Using list comprehension + dictionary comprehension res = [{key : val for key, val in sub.items() if key != del_key} for sub in test_list] # printing result print("The modified list : " + str(res))
The original list is : [{'best': 8, 'id': 2, 'Gfg': 1}, {'best': 10, 'id': 4, 'Gfg': 4}, {'best': 11, 'id': 8, 'Gfg': 4}] The modified list : [{'best': 8, 'Gfg': 1}, {'best': 10, 'Gfg': 4}, {'best': 11, 'Gfg': 4}]
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