Dada una lista de diccionarios, la tarea es escribir un programa de Python para filtrar diccionarios en función de los elementos de la clave Kth en la lista.
Ejemplos:
Entrada: test_list = [{«Gfg»: 3, «es»: 5, «mejor»: 10},
{«Gfg»: 5, «es»: 1, «mejor»: 1},
{«Gfg»: 8, «es»: 3, «mejor»: 9},
{«Gfg»: 9, «es»: 9, «mejor»: 8},
{«Gfg»: 4, «es»: 10, «mejor»: 7}], K = «mejor», search_list = [1, 9, 8, 4, 5]
Salida: [{‘Gfg’: 5, ‘es’: 1, ‘mejor’: 1}, {‘Gfg’: 8, ‘es’: 3, ‘mejor’: 9}, {‘Gfg’: 9, ‘es’: 9, ‘mejor’: 8}]
Explicación: se omiten los diccionarios con «mejor» como clave y valores distintos de 1, 9, 8, 4, 5.
Entrada: test_list = [{«Gfg»: 3, «es»: 5, «mejor»: 10},
{«Gfg»: 5, «es»: 1, «mejor»: 1},
{«Gfg»: 8, «es»: 3, «mejor»: 9}], K = «mejor», search_list = [1, 9, 4, 5]
Salida: [{‘Gfg’: 5, ‘es’: 1, ‘mejor’: 1}, {‘Gfg’: 8, ‘es’: 3, ‘mejor’: 9}]
Explicación: se omiten los diccionarios con «mejor» como clave y valores distintos de 1, 9, 4, 5.
Método n. ° 1: usar bucle + declaraciones condicionales
En esto, los pares clave-valor se agregan al diccionario resultante después de verificar los valores de claves Kth en la lista usando condicionales, iterados usando un bucle.
Python3
# Python3 code to demonstrate working of # Filter dictionaries by values in Kth Key in list # Using loop + conditional statements # initializing list test_list = [{"Gfg": 3, "is": 5, "best": 10}, {"Gfg": 5, "is": 1, "best": 1}, {"Gfg": 8, "is": 3, "best": 9}, {"Gfg": 9, "is": 9, "best": 8}, {"Gfg": 4, "is": 10, "best": 7}] # printing original list print("The original list is : " + str(test_list)) # initializing search_list search_list = [1, 9, 8, 4, 5] # initializing K K = "best" res = [] for sub in test_list: # checking if Kth key's value present in search_list if sub[K] in search_list: res.append(sub) # printing result print("Filtered dictionaries : " + str(res))
Producción:
La lista original es: [{‘Gfg’: 3, ‘is’: 5, ‘best’: 10}, {‘Gfg’: 5, ‘is’: 1, ‘best’: 1}, {‘Gfg’ : 8, ‘es’: 3, ‘mejor’: 9}, {‘Gfg’: 9, ‘es’: 9, ‘mejor’: 8}, {‘Gfg’: 4, ‘es’: 10, ‘ mejor’: 7}]
Diccionarios filtrados: [{‘Gfg’: 5, ‘is’: 1, ‘best’: 1}, {‘Gfg’: 8, ‘is’: 3, ‘best’: 9}, {‘Gfg’: 9 , ‘es’: 9, ‘mejor’: 8}]
Método #2: Usar la comprensión de listas
De manera similar al método anterior, la comprensión de listas se utiliza para proporcionar una abreviatura del método utilizado anteriormente.
Python3
# Python3 code to demonstrate working of # Filter dictionaries by values in Kth Key in list # Using list comprehension # initializing list test_list = [{"Gfg": 3, "is": 5, "best": 10}, {"Gfg": 5, "is": 1, "best": 1}, {"Gfg": 8, "is": 3, "best": 9}, {"Gfg": 9, "is": 9, "best": 8}, {"Gfg": 4, "is": 10, "best": 7}, ] # printing original list print("The original list is : " + str(test_list)) # initializing search_list search_list = [1, 9, 8, 4, 5] # initializing K K = "best" # list comprehension as shorthand for solving problem res = [sub for sub in test_list if sub[K] in search_list] # printing result print("Filtered dictionaries : " + str(res))
Producción:
La lista original es: [{‘Gfg’: 3, ‘is’: 5, ‘best’: 10}, {‘Gfg’: 5, ‘is’: 1, ‘best’: 1}, {‘Gfg’ : 8, ‘es’: 3, ‘mejor’: 9}, {‘Gfg’: 9, ‘es’: 9, ‘mejor’: 8}, {‘Gfg’: 4, ‘es’: 10, ‘ mejor’: 7}]
Diccionarios filtrados: [{‘Gfg’: 5, ‘is’: 1, ‘best’: 1}, {‘Gfg’: 8, ‘is’: 3, ‘best’: 9}, {‘Gfg’: 9 , ‘es’: 9, ‘mejor’: 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