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

Linda Hamilton
Libérer: 2024-10-26 04:44:02
original
626 Les gens l'ont consulté

How Do You Efficiently Find the Intersection of Multiple Sets in Python?

Intersection efficace de plusieurs ensembles en Python

Trouver l'intersection de plusieurs ensembles est une opération courante lorsque l'on travaille avec des données en Python. Pour y parvenir, on peut utiliser une boucle pour calculer de manière itérative l’intersection de chaque paire d’ensembles. Cependant, cette approche peut s'avérer inefficace pour les grandes collections d'ensembles.

Fonction d'intersection intégrée

À partir de la version 2.6 de Python, une manière plus optimisée d'effectuer cette opération est disponible via la fonction set.intersection(). Cette fonction accepte plusieurs arguments, permettant le calcul direct de l'intersection de plus de deux ensembles. Dans sa forme la plus simple, on peut écrire :

u = set.intersection(s1, s2, s3)
Copier après la connexion

où s1, s2 et s3 sont les ensembles à couper.

Extension de la liste d'ensembles

Si la collection d'ensembles est stockée dans une liste, la syntaxe suivante peut être utilisée pour étendre la liste en plusieurs arguments :

u = set.intersection(*setlist)
Copier après la connexion

où *setlist effectue l'expansion de la liste, permettant une exécution efficace de l'opération d'intersection sur tous les ensembles de la liste.

Considérations

Notez que set.intersection n'est pas une méthode statique. Il est appelé sur le premier ensemble de la liste, les ensembles restants servant d'arguments. Si la liste d'arguments est vide, une TypeError sera levée. De plus, l'ordre des arguments de set.intersection() n'affecte pas le résultat. Par conséquent, l'intersection de plusieurs ensembles peut être calculée efficacement sans avoir besoin de boucles itératives ou de fonctions personnalisées.

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.cn
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