Programa Python para extraer pares clave-valor con substring en un diccionario

Dada una lista de diccionarios, extraiga todos los diccionarios que tengan una substring presente en una clave particular.

Entrada : [{“Gfg”: “4”, “mejor”: “1”}, {“Gfg”: “buen contenido de CS”, “mejor”: “10”}], K = “Gfg”, sub_str =
Salida «CS»  : [{‘Gfg’: ‘buen contenido de CS’, ‘mejor’: ’10’}] 
Explicación : «Gfg» tiene «CS» como valor de substring.

Entrada : [{“Gfg”: “4”, “mejor”: “1”}, {“Gfg”: “buen contenido”, “mejor”: “10”}], K = “Gfg”, sub_str = “ CS” 
Salida : [] 
Explicación : No hay diccionario con “CS” como substring para la tecla “Gfg”. 

Método #1: Usar la comprensión de listas

Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos para todos los diccionarios y verificamos la presencia de la substring del valor de la clave usando el operador in.

Python3

# Python3 code to demonstrate working of
# Dictionaries with Substring values
# Using list comprehension
  
# initializing lists
test_list = [{"Gfg": "4", "best": "1"},
             {"Gfg": "good for CS", "best": "8"},
             {"Gfg": "good CS content", "best": "10"}]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing K key
K = "Gfg"
  
# initializing target value
sub_str = "CS"
  
# list comprehension to extract values with
# substring values using in operator
res = [val for val in test_list if sub_str in val[K]]
  
# printing result
print("Dictionaries with particular substring values : " + str(res))

Producción:

La lista original: [{‘Gfg’: ‘4’, ‘mejor’: ‘1’}, {‘Gfg’: ‘bueno para CS’, ‘mejor’: ‘8’}, {‘Gfg’: ‘bueno CS content’, ‘best’: ’10’}]
Diccionarios con valores de substring particulares: [{‘Gfg’: ‘good for CS’, ‘best’: ‘8’}, {‘Gfg’: ‘good CS content’ , ‘mejor’: ’10’}]

Método #2: Usar map() + en el operador

Esta es otra forma más en la que se puede realizar esta tarea. En esto, extraemos todos los valores con la substring requerida usando la función map() + lambda. El operador in se usa para verificar la substring dentro del valor de la clave.

Python3

# Python3 code to demonstrate working of
# Dictionaries with Substring values
# Using map() + in operator
  
# initializing lists
test_list = [{"Gfg": "4", "best": "1"},
             {"Gfg": "good for CS", "best": "8"},
             {"Gfg": "good CS content", "best": "10"}]
  
# printing original list
print("The original list : " + str(test_list))
  
# initializing K key
K = "Gfg"
  
# initializing target value
val = "CS"
  
# map() used to perform filtering
res = list(map(lambda sub: val in sub[K], test_list))
res = [test_list[idx] for idx, ele in enumerate(res) if res[idx]]
  
# printing result
print("Dictionaries with particular substring values : " + str(res))

Producción:

La lista original: [{‘Gfg’: ‘4’, ‘mejor’: ‘1’}, {‘Gfg’: ‘bueno para CS’, ‘mejor’: ‘8’}, {‘Gfg’: ‘bueno CS content’, ‘best’: ’10’}]
Diccionarios con valores de substring particulares: [{‘Gfg’: ‘good for CS’, ‘best’: ‘8’}, {‘Gfg’: ‘good CS content’ , ‘mejor’: ’10’}]

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 *