Python | Eliminar claves del diccionario que comienzan con K

A veces, mientras trabajamos con diccionarios, podemos tener un caso de uso particular en el que necesitamos eliminar ciertas claves. Puede haber muchos criterios sobre los cuales podemos necesitar realizar esta tarea. Uno de estos criterios puede ser la eliminación en función de la substring inicial. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: uso del método Naive +startswith() + pop()
Esta tarea en particular se puede realizar mediante una combinación de las funciones anteriores, que es un método de fuerza bruta para realizar esta tarea. La popfunción se utiliza para eliminar el par de valores clave y startswithproporcionar la condición sobre la cual se debe realizar.

# Python3 code to demonstrate working of
# Remove Keys from dictionary starting with K
# Using Naive Method + startswith() + pop()
  
# initializing dictionary
test_dict = {"Apple" : 1, "Star" : 2, "App" : 4, "Gfg" : 3}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing Substring 
K = "Ap"
  
# Using Naive Method + startswith() + pop()
# Remove Keys from dictionary starting with K
res = list(test_dict.keys())
for key in res:
  if key.startswith(K):
    test_dict.pop(key)
  
# printing result 
print("Dictionary after key removal : " + str(test_dict))
Producción :

The original dictionary is : {'Apple': 1, 'Star': 2, 'App': 4, 'Gfg': 3}
Dictionary after key removal : {'Star': 2, 'Gfg': 3}

Método n.° 2: Uso de la comprensión de listas + dict() + startswith() + items()
También hay una alternativa de línea para realizar esta tarea en particular en la que obtenemos todas las claves y valores usando items()y luego reconstruimos el diccionario con claves que no comienzan con K usando startswith la función. La dictfunción al final realiza la conversión de lista a diccionario.

# Python3 code to demonstrate working of
# Remove Keys from dictionary starting with K
# Using list comprehension + dict() + startswith() + items()
  
# initializing dictionary
test_dict = {"Apple" : 1, "Star" : 2, "App" : 4, "Gfg" : 3}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing Substring 
K = "Ap"
  
# Using list comprehension + dict() + startswith() + items()
# Remove Keys from dictionary starting with K
res = dict( [(x, y) for x, y in test_dict.items() if not x.startswith(K)] )
  
# printing result 
print("Dictionary after key removal : " + str(res))
Producción :

The original dictionary is : {'Apple': 1, 'Star': 2, 'App': 4, 'Gfg': 3}
Dictionary after key removal : {'Star': 2, 'Gfg': 3}

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 *