Obtenga la diferencia entre dos listas en Python
-
Utilice
set.difference()
para encontrar la diferencia entre dos listas en Python -
Utilice
set.symmetric_difference()
para encontrar la diferencia entre dos listas en Python -
Utilice la palabra clave
in
para encontrar la diferencia entre las dos listas en Python -
Utilice la biblioteca
NumPy
para encontrar la diferencia entre dos listas en Python
Se realizan muchas operaciones en estructuras de datos como listas, diccionarios, tuplas y matrices. En Python, estas estructuras de datos se utilizan en casi todos los programas. Una de estas estructuras de datos son las listas en Python. Las listas en la programación de Python ayudan a almacenar más de un elemento en una sola variable. Descubrir la diferencia entre dos listas es una tarea muy común que realizan casi todos los programadores.
Este tutorial demostrará varias formas de obtener la diferencia entre dos listas en Python.
Utilice set.difference()
para encontrar la diferencia entre dos listas en Python
El método set()
ayuda al usuario a convertir cualquier iterable en una secuencia iterable, que también se denomina conjunto. Los iterables pueden ser una lista, un diccionario o una tupla.
La función set.difference()
se utiliza para devolver la diferencia entre los dos conjuntos. Esta función básicamente elimina los elementos comunes en dos conjuntos.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
difference_1 = set(list_1).difference(set(list_2))
difference_2 = set(list_2).difference(set(list_1))
list_difference = list(difference_1.union(difference_2))
print(list_difference)
Producción :
[50, 5, 40, 25, 60, 15]
Para este método, el primer paso es almacenar las dos listas en dos variables. La función set()
se utiliza para convertir estas listas en conjuntos. En el mismo paso, la función set.difference()
se utiliza para encontrar la diferencia entre los dos conjuntos. Tenga en cuenta que la variable difference_1
obtiene los elementos de list_1
y no de list_2
.
La variable difference_2
obtiene los elementos que están en list_2
y no en list_1
. Después de eso, la función union
se utiliza para obtener todos los elementos de las variables difference_1
y difference_2
. Además, la función list()
se utiliza para convertir ambos conjuntos en listas nuevamente. Finalmente, se imprime la lista resultante.
Utilice set.symmetric_difference()
para encontrar la diferencia entre dos listas en Python
Aquí, el método set()
se utiliza para convertir ambas listas en conjuntos inicialmente.
El método symmetric_difference()
se utiliza para devolver los elementos que están en el primer conjunto o en el segundo conjunto. Este método no devuelve la intersección como los elementos comunes de los dos conjuntos.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
set_difference = set(list_1).symmetric_difference(set(list_2))
list_difference = list(set_difference)
print(list_difference)
Producción :
[5, 40, 15, 50, 25, 60]
El método set()
también se utiliza para convertir listas en conjuntos. Después de obtener la diferencia, la función list()
se usa para obtener y convertir el conjunto final, como convertir set_difference
nuevamente en una lista.
Utilice la palabra clave in
para encontrar la diferencia entre las dos listas en Python
La palabra clave in
ayuda a comprobar si un elemento está presente en una secuencia iterable como una lista o no.
La función append()
también se utiliza en este método. append()
se usa para agregar elementos a una lista existente; no crea una nueva lista, pero modifica la lista inicial añadiéndole elementos.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
list_difference = []
for element in list_1:
if element not in list_2:
list_difference.append(element)
print(list_difference)
Producción :
[5, 15, 25]
En este método, primero inicializamos la lista final que debe imprimirse con cero elementos. Luego usamos un bucle for para comenzar la iteración con la primera lista, que es list_1
. Después de eso, usamos la palabra clave not in
para verificar si un elemento está en la segunda lista o no.
Finalmente, usamos el método append()
para agregar los elementos que no están en la segunda lista a la lista inicial, es decir, list_difference
. Sin embargo, el inconveniente de este método es que no devuelve los elementos de la segunda lista.
Para simplificar este método, utilice comprensión de listas. La comprensión de lista es un método que ayuda a crear una nueva lista con los elementos de una lista existente.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
list_difference = [element for element in list_1 if element not in list_2]
print(list_difference)
Producción :
[5, 15, 25]
Utilice la biblioteca NumPy
para encontrar la diferencia entre dos listas en Python
La biblioteca NumPy
de Python es una biblioteca de uso muy común. Esta biblioteca ayuda al usuario a realizar tareas en matrices, matrices y álgebra lineal.
En este método, se utilizan tres funciones de la biblioteca NumPy
para obtener la diferencia entre dos listas. Estas tres funciones son np.array()
, np.setdiff1d()
y np.concatenate()
.
un array es la estructura de datos principal de la biblioteca NumPy
. La función np.array()
le ayuda a crear un array y le ayuda a trabajar con ellos.
La función np.setdiff1d()
le ayuda a encontrar la diferencia de conjuntos entre dos matrices y devolver los valores que están en la primera matriz y no en la segunda matriz.
La función np.concatenate
se utiliza para combinar dos o más matrices NumPy
juntas. Mira el ejemplo a continuación:
import numpy as np
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
array_1 = np.array(list_1)
array_2 = np.array(list_2)
difference_1 = np.setdiff1d(array_1, array_2)
difference_2 = np.setdiff1d(array_2, array_1)
list_difference = np.concatenate((difference_1, difference_2))
print(list(list_difference))
Producción :
[5, 15, 25, 40, 50, 60]
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedInArtículo relacionado - Python List
- Convertir un diccionario en una lista en Python
- Eliminar todas las apariciones de un elemento de una lista en Python
- Eliminar duplicados de una lista en Python
- Cómo obtener el promedio de una lista en Python
- ¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
- Cómo convertir una lista en cadena en Python