Maison > développement back-end > Tutoriel Python > Comment générer efficacement toutes les combinaisons de longueur n à partir d'une liste en Python ?

Comment générer efficacement toutes les combinaisons de longueur n à partir d'une liste en Python ?

Mary-Kate Olsen
Libérer: 2024-11-19 16:24:02
original
763 Les gens l'ont consulté

How to Efficiently Generate All Combinations of Length n from a List in Python?

Obtenir toutes les (n-choisir-k) combinaisons de longueur n

Lorsque vous travaillez avec une liste de nombres, il peut être nécessaire de générer toutes les combinaisons d'une longueur spécifiée n à partir de cette liste. Ceci peut être réalisé efficacement en utilisant le module itertools en Python.

Pour obtenir ces combinaisons, utilisez la fonction itertools.combinations(). Cette fonction prend deux arguments : la liste d'entrée et la longueur n souhaitée. Il renvoie un itérateur qui génère toutes les combinaisons possibles de longueur n dans l'ordre.

Par exemple, considérons la liste [1, 2, 3, 4] et la longueur n = 3. En utilisant itertools.combinations(), on peut obtenir les combinaisons suivantes :

import itertools

for comb in itertools.combinations([1, 2, 3, 4], 3):
    print(comb)
Copier après la connexion

Sortie :

(1, 2, 3)
(1, 2, 4)
(1, 3, 4)
(2, 3, 4)
Copier après la connexion

Cette approche est efficace et facile à implémenter, ce qui en fait une solution pratique pour générer des combinaisons d'une longueur spécifiée à partir d'une liste de nombres.

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