Python | Coincidencia de clave de substring en el diccionario

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))
Producción :

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 dicty 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))
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *