Este artículo trata sobre la tarea de comprobar si dos listas desordenadas contienen elementos exactamente similares en una posición exactamente similar, es decir, comprobar si dos listas son exactamente iguales. Esta es una utilidad bastante útil y se puede utilizar en la programación día a día.
Método 1: el uso list.sort()
de un ==
operadorsort()
junto con ==
el operador puede lograr esta tarea. Primero ordenamos la lista, de modo que si ambas listas son idénticas, entonces tienen elementos en la misma posición. Pero esto no tiene en cuenta el orden de los elementos en la lista.
# Python 3 code to demonstrate # check if list are identical # using sort() + == operator # initializing lists test_list1 = [1, 2, 4, 3, 5] test_list2 = [1, 2, 4, 3, 5] # printing lists print ("The first list is : " + str(test_list1)) print ("The second list is : " + str(test_list2)) # sorting both the lists test_list1.sort() test_list2.sort() # using == to check if # lists are equal if test_list1 == test_list2: print ("The lists are identical") else : print ("The lists are not identical")
Producción :
The first list is : [1, 2, 4, 3, 5] The second list is : [1, 2, 4, 3, 5] The lists are identical
Método 2: usandocollections.Counter()
el uso Counter()
de, generalmente podemos obtener la frecuencia de cada elemento en la lista, verificándolo, para ambas listas, podemos verificar si dos listas son idénticas o no. Pero este método también ignora el orden de los elementos en la lista y solo tiene en cuenta la frecuencia de los elementos.
# Python 3 code to demonstrate # check if list are identical # using collections.Counter() import collections # initializing lists test_list1 = [1, 2, 4, 3, 5] test_list2 = [1, 2, 4, 3, 5] # printing lists print ("The first list is : " + str(test_list1)) print ("The second list is : " + str(test_list2)) # using collections.Counter() to check if # lists are equal if collections.Counter(test_list1) == collections.Counter(test_list2): print ("The lists are identical") else : print ("The lists are not identical")
Producción :
The first list is : [1, 2, 4, 3, 5] The second list is : [1, 2, 4, 3, 5] The lists are identical
Método 3: Usandosum() + zip() + len()
Usando sum() + zip()
, podemos obtener la suma de una de las listas como la suma de 1 si ambos índices en dos listas tienen elementos iguales, y luego comparar ese número con el tamaño de otra lista. Esto también requiere primero verificar si dos listas son iguales antes de este cálculo. También verifica el pedido.
# Python 3 code to demonstrate # check if list are identical # using sum() + zip() + len() # initializing lists test_list1 = [1, 2, 4, 3, 5] test_list2 = [1, 2, 4, 3, 5] # printing lists print ("The first list is : " + str(test_list1)) print ("The second list is : " + str(test_list2)) # using sum() + zip() + len() to check if # lists are equal if len(test_list1)== len(test_list2) and len(test_list1) == sum([1 for i, j in zip(test_list1, test_list2) if i == j]): print ("The lists are identical") else : print ("The lists are not identical")
Producción :
The first list is : [1, 2, 4, 3, 5] The second list is : [1, 2, 4, 3, 5] The lists are identical
Método 4: Usandoreduce() + map()
cuidadosamente el poder de acoplamiento de map()
los valores hash y la utilidad de reduce()
, podemos lograr esta tarea de verificar que la igualdad de dos listas sea idéntica. Esto también tiene en cuenta el orden de la lista.
# Python 3 code to demonstrate # check if list are identical # using map() + reduce() import functools # initializing lists test_list1 = [1, 2, 4, 3, 5] test_list2 = [1, 2, 4, 3, 5] # printing lists print ("The first list is : " + str(test_list1)) print ("The second list is : " + str(test_list2)) # using map() + reduce() to check if # lists are equal if functools.reduce(lambda i, j : i and j, map(lambda m, k: m == k, test_list1, test_list2), True) : print ("The lists are identical") else : print ("The lists are not identical")
Producción :
The first list is : [1, 2, 4, 3, 5] The second list is : [1, 2, 4, 3, 5] The lists are identical
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