Python: elementos de la lista de verificación de la lista del diccionario

A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos verificar la presencia del elemento de la lista como una clave particular en la lista de registros. Este tipo de problema puede ocurrir en dominios en los que se involucran datos, como el desarrollo web y el aprendizaje automático. Discutamos ciertas formas en las que esta tarea puede ser resuelta.

Entrada : test_list = [{‘Precio’: 20, ‘Color’: ‘Naranja’}, {‘Precio’: 25, ‘Color’: ‘Amarillo’}]
Salida : [Verdadero, Falso, Verdadero, Falso]

Entrada : test_list = [{‘Color’: ‘Rosa’, ‘Precio’: 50}]
Salida : [Falso, Falso, Falso, Falso]

Método n.º 1: Uso del bucle
Esta es una forma bruta de resolver este problema. En esto, iteramos todos los diccionarios para cada valor de la lista y lo comparamos con la clave deseada y devolvemos True para los registros que la poseen.

# Python3 code to demonstrate working of 
# Check List elements from Dictionary List
# Using loop
  
# helpr_func
def check_ele(ele, test_list):
  
    for sub in test_list:
        for item in sub.values():
            if ele == item:
                return True
    return False
  
# initializing list
test_list = [{'Name' : 'Apple', 'Price' : 18, 'Color' : 'Red'},
             {'Name' : 'Mango', 'Price' : 20, 'Color' : 'Yellow'},
             {'Name' : 'Orange', 'Price' : 24, 'Color' : 'Orange'},
             {'Name' : 'Plum', 'Price' : 28, 'Color' : 'Red'}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing Values list 
val_list = ['Yellow', 'Red', 'Orange', 'Green']
  
# Check List elements from Dictionary List
# Using loop
res = []
for ele in val_list:
    res.append(check_ele(ele, test_list))
  
# printing result 
print("The Association list in Order : " + str(res)) 
Producción :

La lista original es: [{‘Nombre’: ‘Manzana’, ‘Color’: ‘Rojo’, ‘Precio’: 18}, {‘Nombre’: ‘Mango’, ‘Color’: ‘Amarillo’, ‘Precio’ : 20}, {‘Nombre’: ‘Naranja’, ‘Color’: ‘Naranja’, ‘Precio’: 24}, {‘Nombre’: ‘Ciruela’, ‘Color’: ‘Rojo’, ‘Precio’: 28 }]

La lista de asociaciones en orden: [Verdadero, Verdadero, Verdadero, Falso]

Método n.° 2: usar la any()expresión del generador +
El uso de any() con integración con la expresión del generador puede resolver este problema. En esto, reducimos las líneas de código reduciendo el bucle interno, probando usando any().

# Python3 code to demonstrate working of 
# Check List elements from Dictionary List
# Using any() + generator expression
  
# initializing list
test_list = [{'Name' : 'Apple', 'Price' : 18, 'Color' : 'Red'},
             {'Name' : 'Mango', 'Price' : 20, 'Color' : 'Yellow'},
             {'Name' : 'Orange', 'Price' : 24, 'Color' : 'Orange'},
             {'Name' : 'Plum', 'Price' : 28, 'Color' : 'Red'}]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing Values list 
val_list = ['Yellow', 'Red', 'Orange', 'Green']
  
# initializing Key 
key = 'Color'
  
# Check List elements from Dictionary List
# Using loop
res = [any(clr == sub[key] for sub in test_list) for clr in val_list]
  
# printing result 
print("The Association list in Order : " + str(res)) 
Producción :

La lista original es: [{‘Nombre’: ‘Manzana’, ‘Color’: ‘Rojo’, ‘Precio’: 18}, {‘Nombre’: ‘Mango’, ‘Color’: ‘Amarillo’, ‘Precio’ : 20}, {‘Nombre’: ‘Naranja’, ‘Color’: ‘Naranja’, ‘Precio’: 24}, {‘Nombre’: ‘Ciruela’, ‘Color’: ‘Rojo’, ‘Precio’: 28 }]

La lista de asociaciones en orden: [Verdadero, Verdadero, Verdadero, Falso]

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 *