logo

Cómo comparar dos listas en Python

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.