Maison >développement back-end >Tutoriel Python >Comment pouvons-nous trouver efficacement l'intersection de deux listes en Python ?

Comment pouvons-nous trouver efficacement l'intersection de deux listes en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-06 05:59:12539parcourir

How Can We Efficiently Find the Intersection of Two Lists in Python?

Listes qui se croisent : capture d'éléments qui se chevauchent

Dans cette énigme de programmation, nous cherchons une solution pour déterminer l'intersection de deux listes, en identifiant le point commun éléments entre eux. Étant donné deux listes, « a » et « b », la tâche est de trouver la liste qui contient uniquement les éléments partagés par les deux listes.

Énoncé du problème : opération booléenne ET sur les listes

Considérez l'extrait de code suivant :

a = [1,2,3,4,5]
b = [1,3,5,6]
c = a and b
print c

Lors de l'exécution de ce code, on peut s'attendre à une sortie de '[1,3,5]' comme l'intersection des listes 'a' et 'b'. Cependant, le résultat réel est « [1,3,5,6] », qui inclut des éléments non présents dans l'intersection.

Solution : utiliser l'intersection définie

Pour accomplir une opération booléenne ET (intersection de listes) sur les deux listes, en évitant les doublons et en maintenant l'ordre, nous pouvons tirer parti de l'intersection d'ensembles. Les ensembles sont des collections non ordonnées d'éléments uniques. En convertissant les listes en ensembles, en prenant leur intersection et en reconvertissant l'ensemble résultant en liste, nous pouvons obtenir le résultat souhaité :

>>> a = [1,2,3,4,5]
>>> b = [1,3,5,6]
>>> list(set(a) & set(b))
[1, 3, 5]

Cette solution identifie et renvoie efficacement uniquement les éléments qui appartiennent aux deux listes, fournissant une représentation concise de leur intersection.

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!

Déclaration:
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