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

Patricia Arquette
Libérer: 2024-10-21 22:03:31
original
1006 Les gens l'ont consulté

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 une manière concise et performante 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é :

<code class="python">d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]</code>
Copier après la connexion

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

<code class="python">[3, 4]</code>
Copier après la connexion

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.

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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!