Dada la lista de diccionarios, elimine el diccionario cuya Clave K es N.
Entrada : test_list = [{“Gfg”: 3, “is”: 7, “Best”: 8}, {“Gfg”: 9, “is”: 2, “Best”: 9}, {“Gfg”: 5, “es”: 4, “Mejor”: 10}, {“Gfg”: 3, “es”: 6, “Mejor”: 15}], K = “Gfg”, N = 9 Salida: [
{ “ Gfg”: 3, “es”: 7, “Mejor”: 8}, {“Gfg”: 5, “es”: 4, “Mejor”: 10}, {“Gfg”: 3, “es”: 6 , “Best”: 15}]
Explicación : se extraen todos los elementos que tienen “Gfg” que no sea 9.Entrada : test_list = [{“Gfg”: 3, “is”: 7, “Best”: 8}, {“Gfg”: 9, “is”: 2, “Best”: 9}, {“Gfg”: 5, “es”: 4, “Mejor”: 10}, {“Gfg”: 3, “es”: 6, “Mejor”: 15}], K = “Mejor”, N = 10 Salida: [
{ “ Gfg”: 3, “es”: 7, “Mejor”: 8}, {“Gfg”: 9, “es”: 2, “Mejor”: 9}, {“Gfg”: 3, “es”: 6 , “Mejor”: 15}]
Explicación : Se extraen todos los elementos que tienen “Mejor” que no sea 10.
Método #1: Usar la comprensión de listas
Esta es una de las formas en que se puede realizar esta tarea. En esto, extraemos e iteramos usando verificaciones condicionales usando la comprensión de listas en una sola línea.
Python3
# Python3 code to demonstrate working of # Remove Dictionaries whose Key(K) is N # Using list comprehension # initializing list test_list = [{"Gfg" : 3, "is" : 7, "Best" : 8}, {"Gfg" : 9, "is" : 2, "Best" : 9}, {"Gfg" : 5, "is" : 4, "Best" : 10}, {"Gfg" : 3, "is" : 6, "Best" : 8}] # printing original list print("The original list : " + str(test_list)) # initializing K K = "Gfg" # initializing N N = 5 # returning only dictionaries with "Gfg" key not 5 res = [sub for sub in test_list if sub[K] != N] # printing result print("The extracted dictionaries : " + str(res))
The original list : [{'Gfg': 3, 'is': 7, 'Best': 8}, {'Gfg': 9, 'is': 2, 'Best': 9}, {'Gfg': 5, 'is': 4, 'Best': 10}, {'Gfg': 3, 'is': 6, 'Best': 8}] The extracted dictionaries : [{'Gfg': 3, 'is': 7, 'Best': 8}, {'Gfg': 9, 'is': 2, 'Best': 9}, {'Gfg': 3, 'is': 6, 'Best': 8}]
Método #2: Usar filter() + lambda
Esta es otra forma más en la que se puede realizar esta tarea. En esto, usamos condicionales usando filter() y la función lambda es para verificar el valor de N.
Python3
# Python3 code to demonstrate working of # Remove Dictionaries whose Key(K) is N # Using filter() + lambda # initializing list test_list = [{"Gfg" : 3, "is" : 7, "Best" : 8}, {"Gfg" : 9, "is" : 2, "Best" : 9}, {"Gfg" : 5, "is" : 4, "Best" : 10}, {"Gfg" : 3, "is" : 6, "Best" : 8}] # printing original list print("The original list : " + str(test_list)) # initializing K K = "Gfg" # initializing N N = 5 # Using filter() to check for N value res = list(filter(lambda x: x[K] != N, test_list)) # printing result print("The extracted dictionaries : " + str(res))
The original list : [{'Gfg': 3, 'is': 7, 'Best': 8}, {'Gfg': 9, 'is': 2, 'Best': 9}, {'Gfg': 5, 'is': 4, 'Best': 10}, {'Gfg': 3, 'is': 6, 'Best': 8}] The extracted dictionaries : [{'Gfg': 3, 'is': 7, 'Best': 8}, {'Gfg': 9, 'is': 2, 'Best': 9}, {'Gfg': 3, 'is': 6, '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