Python | Coincidencia de clave de prefijo en el diccionario

A veces, mientras trabajamos con diccionarios, podemos tener un problema en el que necesitamos encontrar los elementos del diccionario que tienen algunas restricciones en las claves. Una de esas restricciones puede ser una coincidencia de prefijo en las claves. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Uso de la comprensión del diccionario + startswith()
La combinación de los dos métodos anteriores se puede utilizar para realizar esta tarea en particular. En esto, la comprensión del diccionario realiza la tarea básica de la construcción del diccionario y startswith()realiza la tarea de utilidad de verificar las claves que comienzan con un prefijo específico.

# Python3 code to demonstrate working of
# Prefix key match in dictionary
# Using dictionary comprehension + startswith()
  
# Initialize dictionary
test_dict = {'tough' : 1, 'to' : 2, 'do' : 3, 'todays' : 4, 'work' : 5}
  
# printing original dictionary
print("The original dictionary : " +  str(test_dict))
  
# Initialize prefix 
test_pref = 'to'
  
# Using dictionary comprehension + startswith()
# Prefix key match in dictionary
res = {key:val for key, val in test_dict.items() 
                   if key.startswith(test_pref)}
  
# printing result 
print("Filtered dictionary keys are : " + str(res))
Producción :

El diccionario original: {‘to’: 2, ‘tough’: 1, ‘work’: 5, ‘todays’: 4, ‘do’: 3}
Las claves del diccionario filtradas son: {‘to’: 2, ‘tough’ : 1, ‘hoy’: 4}

Método #2: Usarmap() + filter() + items() + startswith()
Esta tarea en particular también se puede realizar usando la combinación de las funciones anteriores. La función de mapa vincula la lógica de filtro de startswith()a los elementos de cada diccionario extraídos poritems()

# Python3 code to demonstrate working of
# Prefix key match in dictionary
# Using map() + filter() + items() + startswith()
  
# Initialize dictionary
test_dict = {'tough' : 1, 'to' : 2, 'do' : 3, 'todays' : 4, 'work' : 5}
  
# printing original dictionary
print("The original dictionary : " +  str(test_dict))
  
# Initialize prefix 
test_pref = 'to'
  
# Using map() + filter() + items() + startswith()
# Prefix key match in dictionary
res = dict(filter(lambda item: item[0].startswith(test_pref),
                                          test_dict.items()))
  
# printing result 
print("Filtered dictionary keys are : " + str(res))
Producción :

El diccionario original: {‘to’: 2, ‘tough’: 1, ‘work’: 5, ‘todays’: 4, ‘do’: 3}
Las claves del diccionario filtradas son: {‘to’: 2, ‘tough’ : 1, ‘hoy’: 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 *