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))
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))
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