Python proporciona varias formas de comparar las dos listas. La comparación es el proceso en el que los elementos de datos de se comparan con otros elementos de datos de la lista, ya sean iguales o no.
list1 - [11, 12, 13, 14, 15] list2 - [11, 12, 13, 14, 15] Output - The lists are equal
Los métodos para comparar dos listas se detallan a continuación.
- La función cmp()
- La función set() y el operador ==
- La función sort() y el operador ==
- La función colección.counter()
- La función reducir() y map()
La función cmp()
El Pitón La función cmp() compara los dos objetos de Python y devuelve los valores enteros -1, 0, 1 según la comparación.
Nota: no se utiliza en la versión Python 3.x.
La función set() y el operador ==
Pitón colocar() función manipular la lista en el conjunto sin tener en cuenta el orden de los elementos. Además, utilizamos el operador igual a (==) para comparar los elementos de datos de la lista. Entendamos el siguiente ejemplo.
método anulado en java
Ejemplo -
list1 = [11, 12, 13, 14, 15] list2 = [12, 13, 11, 15, 14] a = set(list1) b = set(list2) if a == b: print('The list1 and list2 are equal') else: print('The list1 and list2 are not equal')
Producción:
The list1 and list2 are equal
Explicación:
En el ejemplo anterior, hemos declarado que las dos listas se compararán entre sí. Convertimos esas listas en un conjunto y comparamos cada elemento con la ayuda del operador ==. Todos los elementos son iguales en ambas listas, entonces, si el bloque se ejecuta e imprime el resultado.
El método sort() con el operador ==
Pitón clasificar() La función se utiliza para ordenar las listas. Los elementos de la misma lista tienen la misma posición de índice que significa; las listas son iguales.
Nota: en el método sort(), podemos pasar los elementos de la lista en cualquier orden porque estamos ordenando la lista antes de compararla.
Entendamos el siguiente ejemplo:
xd xd significado
Ejemplo -
import collections list1 = [10, 20, 30, 40, 50, 60] list2 = [10, 20, 30, 50, 40, 70] list3 = [50, 10, 30, 20, 60, 40] # Sorting the list list1.sort() list2.sort() list3.sort() if list1 == list2: print('The list1 and list2 are the same') else: print('The list1 and list3 are not the same') if list1 == list3: print('The list1 and list2 are not the same') else: print('The list1 and list2 are not the same')
Producción:
The list1 and list3 are not the same The list1 and list2 are not the same
La función colección.counter()
El módulo de recopilación proporciona la encimera(), que comparan la lista de manera eficiente. Almacena los datos en formato de diccionario y cuenta la frecuencia de los elementos de la lista.
abrir un archivo con java
Nota: el orden de los elementos de la lista no importa en esta función.
Ejemplo -
import collections list1 = [10, 20, 30, 40, 50, 60] list2 = [10, 20, 30, 50, 40, 70] list3 = [50, 10, 30, 20, 60, 40] if collections.Counter(list1) == collections.Counter(list2): print('The lists l1 and l2 are the same') else: print('The lists l1 and l2 are not the same') if collections.Counter(list1) == collections.Counter(list3): print('The lists l1 and l3 are the same') else: print('The lists l1 and l3 are not the same')
Producción:
The lists list1 and list2 are not the same The lists list1 and list3 are the same
El reducir() y el mapa()
El mapa() La función acepta una función y un objeto iterable de Python (lista, tupla, cadena, etc.) como argumentos y devuelve un objeto de mapa. La función se implementa en cada elemento de la lista y devuelve un iterador como resultado.
Junto al reducir() El método implementa la función dada en el objeto iterable de forma recursiva.
Aquí usaremos ambos métodos en combinación. El mapa() La función implementaría la función (puede ser definida por el usuario o una función lambda) en cada objeto iterable y el reducir() La función cuidar de eso se aplicaría de manera recursiva.
Nota: Necesitamos importar el módulo functool para usar la función reduce().
Entendamos el siguiente ejemplo.
Ejemplo -
import functools list1 = [10, 20, 30, 40, 50] list2 = [10, 20, 30, 50, 40, 60, 70] list3 = [10, 20, 30, 40, 50] if functools.reduce(lambda x, y: x and y, map(lambda a, b: a == b, list1, list2), True): print('The list1 and list2 are the same') else: print('The list1 and list2 are not the same') if functools.reduce(lambda x, y: x and y, map(lambda a, b: a == b, list1, list3), True): print('The list1 and list3 are the same') else: print('The list1 and list3 are not the same')
Producción:
ordenar una matriz java
The list1 and list2 are not the same The list1 and list3 are the same
En esta sección, cubrimos varios métodos para comparar dos listas en Python.