Maison >développement back-end >Tutoriel Python >Comment pouvons-nous trouver efficacement l'intersection de deux listes en 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!