A veces, mientras trabajamos con diccionarios, podemos tener un caso de uso en el que no conocemos las claves exactas que necesitamos, sino solo una parte específica de las claves que necesitamos obtener. Este tipo de problema puede surgir en muchas aplicaciones. Analicemos ciertas formas en que se puede resolver este problema.
Método n.º 1: usar items()
+ comprensión de lista
La combinación del método anterior se puede usar para realizar esta tarea en particular en la que solo accedemos a los pares de valores clave usando la función de elementos y la comprensión de lista ayuda en la iteración y la lógica de acceso.
# Python3 code to demonstrate working of # Substring Key match in dictionary # Using items() + list comprehension # initializing dictionary test_dict = {'All' : 1, 'have' : 2, 'good' : 3, 'food' : 4} # initializing search key string search_key = 'ood' # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Using items() + list comprehension # Substring Key match in dictionary res = [val for key, val in test_dict.items() if search_key in key] # printing result print("Values for substring keys : " + str(res))
The original dictionary is : {'All': 1, 'food': 4, 'have': 2, 'good': 3} Values for substring keys : [4, 3]
Método #2: Usar dict() + filter()
+ lambda
La combinación de las funciones anteriores se puede usar para realizar esta tarea en particular. En esto, la función dict
y filter
se usa para convertir el resultado en un diccionario y consultar la substring en la lista, respectivamente. La lambda realiza la tarea de acceder a todos los pares clave-valor.
# Python3 code to demonstrate working of # Substring Key match in dictionary # Using dict() + filter() + lambda # initializing dictionary test_dict = {'All' : 1, 'have' : 2, 'good' : 3, 'food' : 4} # initializing search key string search_key = 'ood' # printing original dictionary print("The original dictionary is : " + str(test_dict)) # Using dict() + filter() + lambda # Substring Key match in dictionary res = dict(filter(lambda item: search_key in item[0], test_dict.items())) # printing result print("Key-Value pair for substring keys : " + str(res))
The original dictionary is : {'have': 2, 'good': 3, 'food': 4, 'All': 1} Key-Value pair for substring keys : {'good': 3, 'food': 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