logo

Python | Différence entre deux listes

En programmation Python, comparer deux listes est une tâche courante avec plusieurs approches. Cet article explore différentes méthodes pour obtenir la dissemblance entre deux listes, améliorant ainsi vos compétences dans la gestion des listes et la comparaison des données dans Python . Rejoignez-nous dans ce voyage perspicace dans diverses stratégies permettant de discerner les différences entre les listes.

Exemple



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

Note: Lorsque vous avez plusieurs éléments identiques, cela ne fonctionnera pas. Dans ce cas, ce code supprimera simplement les mêmes éléments.
Dans ce cas, vous pouvez conserver un décompte de chaque élément dans les deux listes.

Façons de comparer deux listes en Python

Il existe différentes manières de comparer deux listes en Python. Ici, nous discutons de certaines méthodes généralement utilisées pour comparer deux listes en Python celles qui suivent.

  • Utilisation dans la méthode
  • Utiliser la compréhension de liste
  • Utiliser ensemble() Fonction
  • Utiliser Numpy
  • En utilisant fermeture éclair() Fonction
  • Compter les occurrences en utilisant Comptoir

Python dans le mot-clé pour comparer deux listes en Python

Dans cet exemple, le code parcourt les éléments de la liste « li1 » et ajoute chaque élément à « temp3 » s'il n'est pas présent dans la liste « li2 ». Le résultat final dans `temp3` contient des éléments de `li1` qui ne sont pas présents dans `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)>

>

>

Sortir

[10, 15, 20, 30]>

Différence entre deux listes en Python à l'aide d'une compréhension de liste

Dans cet exemple, le code crée un ensemble « s » à partir des éléments de la liste « li2 », puis génère une nouvelle liste « temp3 » contenant des éléments de la liste « li1 » qui ne sont pas présents dans l'ensemble « s ». Enfin, il imprime les éléments dans '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)>

>

>

Sortir

[10, 15, 20, 30]>

Trouvez la différence entre deux listes en Python en utilisant set()

Dans cette méthode, nous convertissons explicitement les listes en ensembles, puis réduisons simplement les unes des autres à l'aide de l'opérateur de soustraction. Pour plus de références sur le plateau, visitez Ensembles en Python . C'est une technique similaire à celle que nous avons utilisée précédemment. La seule différence est que nous avons remplacé les boucles imbriquées par les compréhension de liste syntaxe.

Python3

différence entre aimer et aimer




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)>

>

>

Sortir

[10, 15, 20, 30]>

Utilisez Numpy pour Comparez deux listes en Python

Le numpy.concatenate() La fonction concatène une séquence de tableaux le long d’un axe existant. Dans cet exemple, le code utilise NumPy pour créer les tableaux `li1` et `li2`, trouve les différences définies entre eux (`dif1` et `dif2`) et concatène ces différences en une seule liste (`temp3`), imprimant enfin le résultat.

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))>

>

>

Sortir

[10, 15, 20, 30]>

Comparez deux listes en Python à l'aide de la fonction zip()

Dans cet exemple, le code compare les éléments correspondants de deux listes, li1 et li2, et crée une liste de valeurs booléennes indiquant si les éléments sont égaux. La fonction `all` vérifie si tous les éléments de la liste de résultats sont vrais.

Python3




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

tableaux de programmation Java
>

>

Sortir

False>

Comparez deux listes à l'aide du nombre d'occurrences à l'aide du compteur

Dans cet exemple, le code utilise la classe « Counter » du module « collections » pour créer des compteurs de fréquence pour deux listes, « li1 » et « li2 ». Il compare ensuite les compteurs pour vérifier si les listes ont les mêmes éléments avec les mêmes fréquences, en attribuant le résultat à « 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)>

>

>

Sortir

False>