Python | Diferencia entre dos listas

Hay varias formas de generar la diferencia entre dos listas. En este artículo, veremos las dos formas más importantes en que se puede hacer esto. Uno usando el método set() y otro no usándolo. 
 

Ejemplos:  

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

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

Mediante el uso de 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 obtener más referencias sobre conjuntos, visite Conjuntos en Python
 

Ejemplo: 

Python3

# Python code t get difference of two lists
# Using set()
def Diff(li1, li2):
    return list(set(li1) - set(li2)) + list(set(li2) - set(li1))
 
# Driver Code
li1 = [10, 15, 20, 25, 30, 35, 40]
li2 = [25, 40, 35]
print(Diff(li1, li2))

Producción : 
 

[10, 20, 30, 15]

Sin usar el set(): 
 

En este método, usamos la técnica de combinación básica para copiar elementos de la lista con una verificación regular si uno está presente en el otro o no. 
 

Ejemplo:

Python3

# Python code t get difference of two lists
# Not using set()
def Diff(li1, li2):
    li_dif = [i for i in li1 + li2 if i not in li1 or i not in li2]
    return li_dif
 
# Driver Code
li1 = [10, 15, 20, 25, 30, 35, 40]
li2 = [25, 40, 35]
li3 = Diff(li1, li2)
print(li3)

Producción : 

[10, 20, 30, 15]

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *