"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment rechercher efficacement des éléments qui se croisent dans plusieurs listes Python ?

Comment rechercher efficacement des éléments qui se croisent dans plusieurs listes Python ?

Publié le 2024-11-08
Parcourir:825

How to Find Intersecting Elements in Multiple Python Lists Efficiently?

Identification des éléments partagés dans plusieurs listes Python

En Python, l'extraction de l'intersection de deux listes peut être réalisée à l'aide de la fonction set.intersection(). Cependant, déterminer l’intersection de plusieurs listes devient plus complexe. Voici une solution pour identifier efficacement les éléments partagés entre plusieurs listes :

La formule fournie dans la réponse, set.intersection(*map(set,d)), offre un moyen concis et performant de trouver l'intersection entre plusieurs listes. Décomposons ses composants :

  • d représente la liste des listes, où chaque élément est lui-même une liste.
  • map(set, d) convertit chaque liste interne dans d en un set, supprimant efficacement les éléments en double.
  • * décompresse le tuple généré par map pour transmettre chaque ensemble en tant que paramètre distinct à set.intersection().

En enchaînant ces opérations ensemble, on obtient l'intersection de tous les ensembles (initialement les listes) contenus dans la liste d. Dans l'exemple donné :

d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]

Le code set.intersection(*map(set,d)) donnerait le résultat souhaité :

[3, 4]

Cette approche exploite l'efficacité du définir la structure des données pour éliminer rapidement les doublons tout en préservant l'ordre des éléments partagés.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729519394. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3