Python: extracción de clave de substring de valor

A veces, mientras trabajamos con los diccionarios de Python, podemos tener un problema en el que necesitamos encontrar la clave del valor dado, consultando la substring del valor de la clave. Este tipo de problema es común y tiene aplicación en muchos dominios, incluido el desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_dict = {1: ‘Gfg es mejor’, 2: ‘CS es mejor’}
Salida : [1, 2]

Entrada : test_dict = {1: ‘mejor’}
Salida : [1]

Método n. ° 1: Usar bucle +items()
La combinación de las funcionalidades anteriores se puede usar para resolver este problema. En esto, extraemos los valores del diccionario usando items() y el bucle se usa para verificar la substring usando el operador «in».

# Python3 code to demonstrate working of 
# Extracting Key from Value Substring
# Using loop + items()
  
# initializing dictionary
test_dict = {1 : 'Gfg is good', 2 : 'Gfg is best', 3 : 'Gfg is on top'}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# initializing search_word 
srch_wrd = 'best'
  
# Extracting Key from Value Substring
# Using loop + items()
res = []
for key, val in test_dict.items():
    if srch_wrd in val:
        res.append(key)
      
# printing result 
print("The Corresponding key : " + str(res)) 
Producción :

El diccionario original: {1: ‘Gfg es bueno’, 2: ‘Gfg es mejor’, 3: ‘Gfg está en la parte superior’}
La clave correspondiente: [2]

Método #2: Uso de la comprensión de listas
Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos el método anterior en un revestimiento de forma compacta.

# Python3 code to demonstrate working of 
# Extracting Key from Value Substring
# Using list comprehension
  
# initializing dictionary
test_dict = {1 : 'Gfg is good', 2 : 'Gfg is best', 3 : 'Gfg is on top'}
  
# printing original dictionary
print("The original dictionary : " + str(test_dict))
  
# initializing search_word 
srch_wrd = 'best'
  
# Extracting Key from Value Substring
# Using list comprehension
res = [key for key, val in test_dict.items() if srch_wrd in val]
      
# printing result 
print("The Corresponding key : " + str(res)) 
Producción :

El diccionario original: {1: ‘Gfg es bueno’, 2: ‘Gfg es mejor’, 3: ‘Gfg está en la parte superior’}
La clave correspondiente: [2]

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 *