Python – Compara la lista de diccionarios desordenados

A veces, mientras trabajamos con Registros, podemos tener problemas en los que necesitamos realizar la comparación entre registros. Esta puede ser de tipo lista de diccionarios, sean iguales o no. Esto tiene aplicaciones en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.° 1: Usar el "=="operador (solo teclas desordenadas)
En el caso de que solo las teclas de los diccionarios estén desordenadas y el orden en la lista sea correcto, la prueba se puede realizar usando el operador “==”.

# Python3 code to demonstrate working of 
# Compare Unordered Dictionary List
# Using "==" operator
   
# initializing lists
test_list1 = [{'Manjeet' : 12, 'Himani' : 15}, {'Akshat' : 20, 'Vashu' : 15}]
test_list2 = [{'Himani' : 15, 'Manjeet' : 12}, {'Vashu' : 15, 'Akshat' : 20}]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Compare Unordered Dictionary List
# Using "==" operator
res = test_list1 == test_list2
  
# printing result 
print("Are Dictionary Lists equal ? : " + str(res)) 
Producción :

La lista original 1 es: [{‘Himani’: 15, ‘Manjeet’: 12}, {‘Akshat’: 20, ‘Vashu’: 15}]
La lista original 2 es: [{‘Himani’: 15, ‘ Manjeet’: 12}, {‘Vashu’: 15, ‘Akshat’: 20}]
¿Son iguales las listas de diccionarios? : Verdadero

Método n.º 2: usar sorted()la tecla + + lambda (en caso de teclas desordenadas y posición de lista)
La combinación de las funciones anteriores también se puede usar para resolver este problema. En este, realizamos la tarea de ordenar para resolver el posicionamiento de la lista y luego comparar.

# Python3 code to demonstrate working of 
# Compare Unordered Dictionary List
# Using sorted() + key + lambda
   
# initializing lists
test_list1 = [{'Manjeet' : 12, 'Himani' : 15}, {'Akshat' : 20, 'Vashu' : 15}]
test_list2 = [{'Vashu' : 15, 'Akshat' : 20}, {'Himani' : 15, 'Manjeet' : 12}]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Compare Unordered Dictionary List
# Using sorted() + key + lambda
res = sorted(test_list1, key = lambda ele: sorted(ele.items())) == sorted(
                        test_list2, key = lambda ele: sorted(ele.items()))
  
# printing result 
print("Are Dictionary Lists equal ? : " + str(res)) 
Producción :

La lista original 1 es: [{‘Himani’: 15, ‘Manjeet’: 12}, {‘Akshat’: 20, ‘Vashu’: 15}]
La lista original 2 es: [{‘Himani’: 15, ‘ Manjeet’: 12}, {‘Vashu’: 15, ‘Akshat’: 20}]
¿Son iguales las listas de diccionarios? : Verdadero

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 *