itertools.combinations()-Modul in Python zum Drucken aller möglichen Kombinationen
Generieren und drucken Sie bei einem gegebenen Array der Größe n alle möglichen Kombinationen von r Elementen im Array. Beispiele:
Input : arr[] = [1, 2, 3, 4], r = 2 Output : [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
Empfohlen: Bitte probieren Sie Ihren Ansatz aus {geht} zuerst, bevor wir zur Lösung übergehen.
Für dieses Problem gibt es eine rekursive Lösung. Weitere Informationen finden Sie unter Drucken aller möglichen Kombinationen von r Elementen in einem bestimmten Array mit der Größe n Link. Wir werden dieses Problem in Python mithilfe von lösen itertools.combinations() Modul.
Was macht itertools.combinations()?
Es gibt Teilfolgen der Länge r von Elementen aus der Eingabeiterable zurück. Kombinationen werden in lexikografischer Sortierreihenfolge ausgegeben. Wenn also die Eingabe-Iterable sortiert ist, werden die Kombinationstupel in sortierter Reihenfolge erzeugt.
- itertools.combinations(iterable, r): Gibt Tupel der Länge r in sortierter Reihenfolge ohne wiederholte Elemente zurück. Zum Beispiel Kombinationen(‘ABCD’, 2) ==> [AB, AC, AD, BC, BD, CD]. itertools.combinations_with_replacement(iterable, r): Gibt Tupel der Länge r in sortierter Reihenfolge mit wiederholten Elementen zurück. Zum Beispiel Kombinationen_mit_Ersatz(‘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))> |
Ausgabe
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]