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
833 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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal