Comment trouver l'intersection de plusieurs listes en Python ?

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

How to Find the Intersection of Multiple Lists in Python?

Python : intersection de plusieurs listes

Lorsque vous travaillez avec plusieurs listes, trouver leurs éléments communs peut être une opération précieuse. Bien que Python fournisse une fonction pratique pour croiser deux listes (set(a).intersection(b)), la tâche devient légèrement plus complexe lorsqu'il s'agit de plus de deux listes.

Considérons un scénario dans lequel nous avons un liste de listes d contenant plusieurs listes (dans votre exemple, d = [[1,2,3,4], [2,3,4], [3,4,5,6,7]]). Pour trouver l'intersection de toutes les listes dans d, nous pouvons exploiter les opérations d'ensemble et les fonctions intégrées de Python.

Une approche consiste à utiliser la méthode set.intersection() à plusieurs reprises. Cependant, cette méthode ne fonctionne que sur deux ensembles à la fois, nous devons donc l’appliquer de manière itérative. Voici comment procéder :

<code class="python">intersection = set(d[0])
for lst in d[1:]:
    intersection = intersection.intersection(set(lst))

print(intersection)  # Outputs: {3, 4}</code>
Copier après la connexion

Une autre solution concise et efficace utilise l'opérateur * de Python et la fonction map() :

<code class="python">intersection = set.intersection(*map(set, d))

print(intersection)  # Outputs: {3, 4}</code>
Copier après la connexion

Dans cette solution, nous utilisons la map( ) fonction pour convertir chaque liste de d en un ensemble. L'opérateur * décompresse ensuite cette séquence d'ensembles dans les arguments de set.intersection(), nous permettant de trouver l'intersection de tous les ensembles simultanément.

Ces deux approches trouvent efficacement l'intersection de plusieurs listes stockées dans une liste de listes. En tirant parti des opérations d'ensemble de Python, nous pouvons facilement identifier les éléments communs parmi un nombre quelconque de listes.

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!