logo

Pitón | Diferencia entre dos listas

En la programación Python, comparar dos listas es una tarea común con múltiples enfoques. Este artículo explora diferentes métodos para obtener la diferencia entre dos listas, mejorando su competencia en el manejo de listas y la comparación de datos en Pitón . Únase a nosotros en este viaje revelador hacia varias estrategias para discernir diferencias entre listas.

Ejemplo



  Input:   list1 = [10, 15, 20, 25, 30, 35, 40] list2 = [25, 40, 35]   Output:   [10, 15, 20, 30]   Explanation:   resultant list = list1 - list2>

Nota: Cuando tienes varios elementos iguales, esto no funcionará. En ese caso, este código simplemente eliminará los mismos elementos.
En ese caso, puede mantener un recuento de cada elemento en ambas listas.

Formas de comparar dos listas en Python

Hay varias formas de comparar dos listas en Python. Aquí, analizamos algunos métodos de uso general para comparar dos listas en Python que se detallan a continuación.

  • Uso en método
  • Usar la comprensión de listas
  • Usar colocar() Función
  • Usar numpy
  • Usando cremallera() Función
  • Cuente las ocurrencias usando Encimera

Python en palabra clave para comparar dos listas en Python

En este ejemplo, el código itera a través de los elementos de la lista 'li1' y agrega cada elemento a 'temp3' si no está presente en la lista 'li2'. El resultado final en 'temp3' contiene elementos de 'li1' que no están presentes en 'li2'.



Python3






li1>=> [>10>,>15>,>20>,>25>,>30>,>35>,>40>]> li2>=> [>25>,>40>,>35>]> temp3>=> []> for> element>in> li1:> >if> element>not> in> li2:> >temp3.append(element)> print>(temp3)>

>

>

Producción

[10, 15, 20, 30]>

Diferencia entre dos listas en Python usando una comprensión de lista

En este ejemplo, el código crea un conjunto 's' a partir de los elementos de la lista 'li2' y luego genera una nueva lista 'temp3' que contiene elementos de la lista 'li1' que no están presentes en el conjunto 's'. Finalmente, imprime los elementos en 'temp3'.

Python3




li1>=> [>10>,>15>,>20>,>25>,>30>,>35>,>40>]> li2>=> [>25>,>40>,>35>]> s>=> set>(li2)> temp3>=> [x>for> x>in> li1>if> x>not> in> s]> print>(temp3)>

>

>

Producción

[10, 15, 20, 30]>

Encuentre la diferencia entre dos listas en Python usando set()

En este método, convertimos las listas en conjuntos explícitamente y luego simplemente reducimos una de la otra usando el operador de resta. Para más referencias sobre el set visita Conjuntos en Python . Es una técnica similar a la que utilizamos anteriormente. La única diferencia es que reemplazamos los bucles anidados con el comprensión de la lista sintaxis.

Python3




li1>=> [>10>,>15>,>20>,>25>,>30>,>35>,>40>]> li2>=> [>25>,>40>,>35>]> s>=> set>(li2)> temp3>=> [x>for> x>in> li1>if> x>not> in> s]> print>(temp3)>

>

cómo cerrar el modo desarrollador
>

Producción

[10, 15, 20, 30]>

Utilice Numpy para Comparar dos listas en Python

El numpy.concatenar() La función concatena una secuencia de matrices a lo largo de un eje existente. En este ejemplo, el código usa NumPy para crear matrices `li1` y `li2`, encuentra las diferencias establecidas entre ellas (`dif1` y `dif2`) y concatena estas diferencias en una sola lista (`temp3`), imprimiendo finalmente el resultado.

Python3




import> numpy as np> li1>=> np.array([>10>,>15>,>20>,>25>,>30>,>35>,>40>])> li2>=> np.array([>25>,>40>,>35>])> dif1>=> np.setdiff1d(li1, li2)> dif2>=> np.setdiff1d(li2, li1)> temp3>=> np.concatenate((dif1, dif2))> print>(>list>(temp3))>

>

>

Producción

[10, 15, 20, 30]>

Compare dos listas en Python usando la función zip()

En este código de ejemplo se comparan los elementos correspondientes de dos listas, li1 y li2, y se crea una lista de valores booleanos que indican si los elementos son iguales. La función `todos` comprueba si todos los elementos de la lista de resultados son verdaderos.

Python3




li1>=> [>10>,>15>,>20>]> li2>=> [>25>,>40>,>35>]> result>=> [a>=>=> b>for> a, b>in> zip>(li1, li2)]> print>(>all>(result))>

>

>

Producción

False>

Compare dos listas usando el conteo de ocurrencias usando el contador

En este ejemplo, el código utiliza la clase `Counter` del módulo `collections` para crear contadores de frecuencia para dos listas, `li1` y `li2`. Luego compara los contadores para comprobar si las listas tienen los mismos elementos con las mismas frecuencias, asignando el resultado a `are_lists_equal`.

Python3




from> collections>import> Counter> li1>=> [>10>,>15>,>20>,>25>,>30>,>35>,>40>]> li2>=> [>25>,>40>,>35>]> counter1>=> Counter(li1)> counter2>=> Counter(li2)> are_lists_equal>=> counter1>=>=> counter2> print>(are_lists_equal)>

>

>

Producción

False>