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))
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))
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