logo

Modulul itertools.combinations() în Python pentru a imprima toate combinațiile posibile

Având în vedere o matrice de dimensiune n, generați și tipăriți toate combinațiile posibile de elemente r din matrice. Exemple:

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

Recomandat: Vă rugăm să încercați abordarea dvs {merge} mai întâi, înainte de a trece la soluție.

Această problemă are o soluție recursivă existentă. Vă rugăm să consultați Imprimați toate combinațiile posibile de elemente r într-o matrice dată de dimensiune n link. Vom rezolva această problemă folosind python itertools.combinations() modul.



Ce face itertools.combinations()?

Returnează r subsecvențe de lungime de elemente din iterabilul de intrare. Combinațiile sunt emise în ordine de sortare lexicografică. Deci, dacă iterabilul de intrare este sortat, tuplurile de combinație vor fi produse în ordine sortată.

    itertools.combinations(iterable, r): returnează tupluri de lungime r în ordine sortată, fără elemente repetate. De exemplu, combinații(‘ABCD’, 2) ==> [AB, AC, AD, BC, BD, CD]. itertools.combinations_with_replacement(iterable, r) : returnează tupluri de lungime r în ordine sortată cu elemente repetate. De exemplu, combinații_cu_înlocuire(‘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))>

>

cât de inventată școala

>

Ieșire

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