Faites la différence entre deux listes en Python
-
Utilisez
set.difference()
pour trouver la différence entre deux listes en Python -
Utilisez
set.symmetric_difference()
pour trouver la différence entre deux listes en Python -
Utilisez le mot-clé
in
pour trouver la différence entre les deux listes en Python -
Utilisez la bibliothèque
NumPy
pour trouver la différence entre deux listes en Python
De nombreuses opérations sont effectuées sur des structures de données telles que des listes, des dictionnaires, des tuples et des tableaux. En Python, ces structures de données sont utilisées dans presque tous les programmes. L’une de ces structures de données est les listes en Python. Les listes dans la programmation Python aident à stocker plus d’un élément dans une seule variable. Découvrir la différence entre deux listes est une tâche très courante que presque tous les programmeurs effectuent.
Ce tutoriel montrera plusieurs façons d’obtenir la différence entre deux listes en Python.
Utilisez set.difference()
pour trouver la différence entre deux listes en Python
La méthode set()
aide l’utilisateur à convertir n’importe quel itérable en une séquence itérable, également appelée ensemble. Les itérables peuvent être une liste, un dictionnaire ou un tuple.
La fonction set.difference()
permet de renvoyer la différence entre les deux ensembles. Cette fonction élimine essentiellement les éléments communs dans deux ensembles.
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)
Production:
[50, 5, 40, 25, 60, 15]
Pour cette méthode, la première étape consiste à stocker les deux listes dans deux variables. La fonction set()
permet de convertir ces listes en ensembles. Dans la même étape, la fonction set.difference()
est utilisée pour trouver la différence entre les deux ensembles. Notez que la variable difference_1
récupère les éléments dans list_1
et non dans list_2
.
La variable difference_2
obtient les éléments qui sont dans list_2
et non dans list_1
. Après cela, la fonction union
est utilisée pour obtenir tous les éléments des variables difference_1
et difference_2
. De plus, la fonction list()
est utilisée pour reconvertir les deux ensembles en listes. Enfin, la liste résultante est imprimée.
Utilisez set.symmetric_difference()
pour trouver la différence entre deux listes en Python
Ici, la méthode set()
est utilisée pour convertir initialement les deux listes en ensembles.
La méthode symmetric_difference()
est utilisée pour retourner les éléments qui sont soit dans le premier ensemble, soit dans le deuxième ensemble. Cette méthode ne renvoie pas l’intersection comme les éléments communs des deux ensembles.
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)
Production:
[5, 40, 15, 50, 25, 60]
La méthode set()
est également utilisée pour convertir des listes en ensembles. Après avoir obtenu la différence, la fonction list()
est utilisée pour obtenir et convertir l’ensemble final, comme la conversion de set_difference
en une liste.
Utilisez le mot-clé in
pour trouver la différence entre les deux listes en Python
Le mot-clé in
permet de vérifier si un élément est présent dans une séquence itérable comme une liste ou non.
La fonction append()
est également utilisée dans cette méthode. append()
est utilisé pour ajouter des éléments à une liste existante ; il ne fait pas de nouvelle liste, mais il modifie la liste initiale en y ajoutant des éléments.
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)
Production:
[5, 15, 25]
Dans cette méthode, nous initialisons d’abord la liste finale qui doit être imprimée avec zéro élément. Ensuite, nous utilisons une boucle for pour démarrer l’itération avec la première liste, qui est list_1
. Après cela, nous utilisons le mot-clé not in
pour vérifier si un élément est dans la deuxième liste ou non.
Enfin, nous utilisons la méthode append()
pour ajouter les éléments qui ne sont pas dans la deuxième liste à la liste initiale, c’est-à-dire list_difference
. L’inconvénient de cette méthode, cependant, est qu’elle ne renvoie pas les éléments de la deuxième liste.
Pour simplifier cette méthode, utilisez la compréhension de liste. La liste compréhension est une méthode qui permet de créer une nouvelle liste avec les éléments d’une liste existante.
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)
Production:
[5, 15, 25]
Utilisez la bibliothèque NumPy
pour trouver la différence entre deux listes en Python
La bibliothèque NumPy
de Python est une bibliothèque très couramment utilisée. Cette bibliothèque aide l’utilisateur à effectuer des tâches dans les tableaux, les matrices et l’algèbre linéaire.
Dans cette méthode, trois fonctions de la bibliothèque NumPy
sont utilisées pour faire la différence entre deux listes. Ces trois fonctions sont np.array()
, np.setdiff1d()
et np.concatenate()
.
Un tableau est la structure de données principale de la bibliothèque NumPy
. La fonction np.array()
vous aide à créer un tableau et vous aide à travailler avec eux.
La fonction np.setdiff1d()
vous aide à trouver la différence définie entre deux tableaux et à renvoyer les valeurs qui se trouvent dans le premier tableau et non dans le deuxième.
La fonction np.concatenate
est utilisée pour combiner deux ou plusieurs tableaux NumPy
ensemble. Vérifiez l’exemple ci-dessous :
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))
Production:
[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.
LinkedInArticle connexe - Python List
- Convertir un dictionnaire en liste en Python
- Supprimer toutes les occurrences d'un élément d'une liste en Python
- Supprimer les doublons de la liste en Python
- Comment obtenir la moyenne d'une liste en Python
- Quelle est la différence entre les méthodes de liste append et extend
- Comment convertir une liste en chaîne de caractères en Python