logo

module itertools.combinations() en Python pour imprimer toutes les combinaisons possibles

Étant donné un tableau de taille n, générez et imprimez toutes les combinaisons possibles de r éléments dans le tableau. Exemples:

Input : arr[] = [1, 2, 3, 4], r = 2 Output : [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]>

Recommandé : veuillez essayer votre approche sur {va} d'abord, avant de passer à la solution.

Ce problème a une solution récursive existante, veuillez vous référer à Imprimer toutes les combinaisons possibles d'éléments r dans un tableau donné de lien de taille n. Nous allons résoudre ce problème en python en utilisant itertools.combinations() module.



Que fait itertools.combinations() ?

Il renvoie des sous-séquences de longueur r d'éléments de l'itérable d'entrée. Les combinaisons sont émises dans un ordre de tri lexicographique. Ainsi, si l'itérable d'entrée est trié, les tuples de combinaison seront produits dans l'ordre trié.

    itertools.combinations(iterable, r) : il renvoie des tuples de longueur r dans un ordre trié sans éléments répétés. Par exemple, combinaisons('ABCD', 2) ==> [AB, AC, AD, BC, BD, CD]. itertools.combinations_with_replacement(iterable, r) : il renvoie des tuples de longueur r dans un ordre trié avec des éléments répétés. Par exemple, combinaisons_with_replacement('ABCD', 2) ==> [AA, AB, AC, AD, BB, BC, BD, CC, CD, DD].

Python3








# Function which returns subset or r length from n> from> itertools>import> combinations> def> rSubset(arr, r):> ># return list of all subsets of length r> ># to deal with duplicate subsets use> ># set(list(combinations(arr, r)))> >return> list>(combinations(arr, r))> # Driver Function> if> __name__>=>=> '__main__'>:> >arr>=> [>1>,>2>,>3>,>4>]> >r>=> 2> >print> (rSubset(arr, r))>

>

instanciation de Java

>

Sortir

[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]>