Python – Eliminar clave de la lista de diccionarios

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

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

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

Deja una respuesta

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