Python: busque claves con un sufijo específico 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 sufijo en las claves. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Uso de la comprensión del diccionario +endswith()
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 construcción del diccionario y termina con() realiza la tarea de utilidad de verificar las claves que comienzan con un sufijo específico.

# Python3 code to demonstrate working of
# Keys with specific suffix in Dictionary
# Using dictionary comprehension + endswith()
  
# Initialize dictionary
test_dict = {'all' : 4, 'geeks' : 5, 'are' : 8, 'freaks' : 10}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# Initialize suffix
test_suf = 'ks'
  
# Using dictionary comprehension + endswith()
# Keys with specific suffix in Dictionary
res = {key:val for key, val in test_dict.items() if key.endswith(test_suf)}
  
# printing result 
print("Filtered dictionary keys are : " + str(res))
Producción :

The original dictionary : {'geeks': 5, 'freaks': 10, 'are': 8, 'all': 4}
Filtered dictionary keys are : {'geeks': 5, 'freaks': 10}

Método #2: Usarmap() + filter() + items() + endswith()
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 Endswith() a los elementos de cada diccionario extraídos por Items().

# Python3 code to demonstrate working of
# Keys with specific suffix in Dictionary
# Using map() + filter() + items() + endswith()
  
# Initialize dictionary
test_dict = {'all' : 4, 'geeks' : 5, 'are' : 8, 'freaks' : 10}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# Initialize suffix 
test_suf = 'ks'
  
# Using map() + filter() + items() + endswith()
# Keys with specific suffix in Dictionary
res = dict(filter(lambda item: item[0].endswith(test_suf), test_dict.items()))
  
# printing result 
print("Filtered dictionary keys are : " + str(res))
Producción :

The original dictionary : {'geeks': 5, 'freaks': 10, 'are': 8, 'all': 4}
Filtered dictionary keys are : {'geeks': 5, 'freaks': 10}

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 *