Maison > développement back-end > Tutoriel Python > Comment puis-je trouver efficacement les différences uniques entre deux listes en Python ?

Comment puis-je trouver efficacement les différences uniques entre deux listes en Python ?

Barbara Streisand
Libérer: 2024-12-21 13:38:09
original
659 Les gens l'ont consulté

How Can I Efficiently Find the Unique Differences Between Two Lists in Python?

Trouver des différences uniques entre les listes

Lorsque vous traitez plusieurs listes, il est souvent nécessaire de les comparer et d'identifier les différences dans leurs éléments. En Python, un moyen efficace de procéder consiste à trouver la différence définie entre deux listes.

Exemple :

Considérez les deux listes suivantes avec des éléments uniques :

temp1 = ['One', 'Two', 'Three', 'Four']
temp2 = ['One', 'Two']
Copier après la connexion

Objectif :

Créer une troisième liste (temp3) qui contient les éléments de temp1 qui ne sont pas présents dans temp2. Dans ce cas, le résultat attendu est :

temp3 = ['Three', 'Four']
Copier après la connexion

Solution :

Pour éviter d'utiliser des boucles ou des comparaisons explicites, le type de données défini peut être exploité pour trouver efficacement le différence entre les deux lists :

temp3 = list(set(temp1) - set(temp2))
Copier après la connexion

Explication :

  1. set(temp1) convertit temp1 en un ensemble, qui est une collection non ordonnée d'éléments uniques.
  2. set(temp2) crée un autre ensemble à partir de temp2.
  3. set(temp1) - set(temp2) effectue une opération de différence d'ensemble, qui supprime les éléments présents dans set(temp2) de set(temp1).
  4. L'ensemble résultant est reconverti en liste à l'aide de list() pour conserver l'ordre des éléments.

Asymétrie dans la différence d'ensemble :

Notez que la différence d'ensemble n'est pas commutative. Cela signifie que set(temp1) - set(temp2) n'est pas nécessairement égal à set(temp2) - set(temp1). Par exemple :

set([1, 2]) - set([2, 3]) == {1}
set([2, 3]) - set([1, 2]) == {3}
Copier après la connexion

Si le résultat souhaité est d'inclure des éléments uniques aux deux ensembles, la méthode metric_difference() peut être utilisée :

set([1, 2]).symmetric_difference(set([2, 3])) == {1, 3}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal