Dada la Lista de diccionarios, extraiga todos los diccionarios que tienen strings vacías como valores de clave particular.
Entrada : test_list = [{«Gfg»: «4», «es»: «bueno», «mejor»: «1»}, {«Gfg»: «9», «es»: «CS», «mejor ” : “10”}], K = “Gfg” Salida : [] Explicación : ninguna tecla “Gfg” está vacía. Entrada : test_list = [{«Gfg»: «», «es»: «bueno», «mejor»: «1»}, {«Gfg»: «9», «es»: «CS», «mejor» : “10”}], K = “Gfg” Salida : [{“Gfg” : “”, “is” : “good”, “best” : “1”}] Explicación : Diccionario con “Gfg” vacío extraído.
Método #1: Usar la comprensión de listas
Esta es una de las formas en que se puede realizar esta tarea. En esto, ejecutamos un bucle a través de todos los diccionarios y verificamos el valor de string vacía de la clave. Todo esto compilado en comprensión de lista en lugar de bucle.
Python3
# Python3 code to demonstrate working of # Extract dictionaries with Empty String value in K key # Using list comprehension # initializing lists test_list = [{"Gfg" : "4", "is" : "good", "best" : "1"}, {"Gfg" : "", "is" : "better", "best" : "8"}, {"Gfg" : "9", "is" : "CS", "best" : "10"}] # printing original list print("The original list : " + str(test_list)) # initializing K key K = "Gfg" # using list comprehension to fetch empty string key's dictionaries res = [sub for sub in test_list if sub[K] == ''] # printing result print("The extracted dictionaries : " + str(res))
The original list : [{'Gfg': '4', 'is': 'good', 'best': '1'}, {'Gfg': '', 'is': 'better', 'best': '8'}, {'Gfg': '9', 'is': 'CS', 'best': '10'}] The extracted dictionaries : [{'Gfg': '', 'is': 'better', 'best': '8'}]
Método #2: Usar filter() + lambda
Esta es otra forma más en la que se puede realizar esta tarea. En esto, extraemos todos los diccionarios de claves de valores vacíos usando filter() y funcionalidad e iteración por lambda.
Python3
# Python3 code to demonstrate working of # Extract dictionaries with Empty String value in K key # Using filter() + lambda # initializing lists test_list = [{"Gfg" : "4", "is" : "good", "best" : "1"}, {"Gfg" : "", "is" : "better", "best" : "8"}, {"Gfg" : "9", "is" : "CS", "best" : "10"}] # printing original list print("The original list : " + str(test_list)) # initializing K key K = "Gfg" # filter() used to iteration # lambda for functionality res = list(filter(lambda sub: sub[K] == '', test_list)) # printing result print("The extracted dictionaries : " + str(res))
The original list : [{'Gfg': '4', 'is': 'good', 'best': '1'}, {'Gfg': '', 'is': 'better', 'best': '8'}, {'Gfg': '9', 'is': 'CS', 'best': '10'}] The extracted dictionaries : [{'Gfg': '', 'is': 'better', 'best': '8'}]
Método #3: Usar los métodos len() y keys()
Python3
# Python3 code to demonstrate working of # Extract dictionaries with Empty String value in K key # Using filter() + lambda # initializing lists test_list = [{"Gfg" : "4", "is" : "good", "best" : "1"}, {"Gfg" : "", "is" : "better", "best" : "8"}, {"Gfg" : "9", "is" : "CS", "best" : "10"}] # printing original list print("The original list : " + str(test_list)) # initializing K key K = "Gfg" res = [] for i in test_list: if K in i.keys() and len(i[K])==0 : res.append(i) # printing result print("The extracted dictionaries : " + str(res))
The original list : [{'Gfg': '4', 'is': 'good', 'best': '1'}, {'Gfg': '', 'is': 'better', 'best': '8'}, {'Gfg': '9', 'is': 'CS', 'best': '10'}] The extracted dictionaries : [{'Gfg': '', 'is': 'better', 'best': '8'}]
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