Python: extrae valores clave similares

Dado un diccionario, extrae todos los valores que son de claves similares, es decir, contiene todos los caracteres similares, simplemente revueltos para formar unos con otros.

Entrada : test_dict = {‘gfg’: 5, ‘ggf’: 19, ‘gffg’: 9, ‘gff’: 3, ‘fgg’: 3}, tst_wrd = ‘fgg’ Salida: [5, 19, 
3
Explicación : gfg, ggf y fgg tienen valores, 5, 19 y 3.

Entrada : test_dict = {‘gfg’: 5, ‘gffg’: 9, ‘gff’: 3, ‘fgg’: 3}, tst_wrd = ‘fgg’ Salida: [5, 3] Explicación: gfg y 
fgg tienen 
valores , 5 y 3. 

Método #1: Usar sorted() + loop

En esto, comparamos la clave después de clasificar con la clave de destino, tendrá elementos similares en el orden correcto y se puede verificar la igualdad. Una vez con match, se extraen sus valores.

Python3

# Python3 code to demonstrate working of
# Extract Similar Key Values
# Using loop + sorted()
  
# initializing dictionary
test_dict = {'gfg': 5, 'ggf': 19, 'gffg': 9, 'gff': 3, 'fgg': 3}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing word
tst_wrd = 'fgg'
  
res = []
for key, val in test_dict.items():
  
    # sorted to get similar key order
    if ''.join(list(sorted(key))) == tst_wrd:
        res.append(val)
  
# printing result
print("The extracted keys : " + str(res))

Producción:

El diccionario original es: {‘gfg’: 5, ‘ggf’: 19, ‘gffg’: 9, ‘gff’: 3, ‘fgg’: 3} Las claves extraídas: [5, 19, 3
]

Método n. ° 2: usar la lista de comprensión + sorted()

En esto, realizamos una tarea similar a la anterior, solo realizamos usando taquigrafía usando sorted() y comprensión de lista.

Python3

# Python3 code to demonstrate working of
# Extract Similar Key Values
# Using list comprehension + sorted()
  
# initializing dictionary
test_dict = {'gfg': 5, 'ggf': 19, 'gffg': 9, 'gff': 3, 'fgg': 3}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing word
tst_wrd = 'fgg'
  
# one-liner to solve this
res = [val for key, val in test_dict.items(
) if ''.join(list(sorted(key))) == tst_wrd]
  
# printing result
print("The extracted keys : " + str(res))

Producción:

El diccionario original es: {‘gfg’: 5, ‘ggf’: 19, ‘gffg’: 9, ‘gff’: 3, ‘fgg’: 3} Las claves extraídas: [5, 19, 3
]

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 *