Maison  >  Article  >  développement back-end  >  Comment trouver efficacement l’intersection de plusieurs ensembles en Python ?

Comment trouver efficacement l’intersection de plusieurs ensembles en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-27 06:36:03533parcourir

How to Efficiently Find the Intersection of Multiple Sets in Python?

Trouver efficacement l'intersection de plusieurs ensembles en Python

Lorsque vous travaillez avec plusieurs ensembles en Python, il est souvent nécessaire de calculer leur intersection, c'est-à-dire les éléments communs à tous les ensembles. Une approche courante consiste à effectuer une série d’intersections par paires à l’aide de la méthode set.intersection(). Cependant, cela peut s'avérer inefficace pour les grands ensembles de données.

Python 2.6 a introduit une méthode intégrée plus efficace pour calculer l'intersection de plusieurs ensembles. La méthode set.intersection() prend désormais en charge plusieurs arguments, vous permettant de spécifier tous les ensembles dont vous souhaitez calculer l'intersection.

Pour trouver l'intersection des ensembles s1, s2, s3, etc., utilisez simplement :

<code class="python">u = set.intersection(s1, s2, s3)</code>

Si les ensembles sont stockés dans une liste, vous pouvez utiliser l'expansion de la liste pour automatiser le processus :

<code class="python">setlist = [s1, s2, s3]
u = set.intersection(*setlist)</code>

Cette notation étend la liste en arguments individuels lors de l'appel de set.intersection () afin qu'il puisse effectuer l'intersection en une seule opération.

Notez que set.intersection n'est pas une méthode statique, ce qui signifie qu'elle doit être appelée à partir d'une instance de la classe set. Si la liste d'arguments est vide, appeler set.intersection() sans instance entraînera une erreur.

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