GeeksforGeeks

Python bietet direkte Methoden, um Permutationen und Kombinationen einer Sequenz zu finden. Diese Methoden sind im itertools-Paket vorhanden.

Permutation

Importieren Sie zunächst das itertools-Paket, um die Permutationsmethode in Python zu implementieren. Diese Methode nimmt eine Liste als Eingabe und gibt eine Objektliste von Tupeln zurück, die alle Permutationen in einer Listenform enthalten.

from itertools import permutations
perm = permutations()
for i in list(perm):
print (i)



Ausgabe:

(1, 2, 3)(1, 3, 2)(2, 1, 3)(2, 3, 1)(3, 1, 2)(3, 2, 1)

Es erzeugt n! Permutationen, wenn die Länge der Eingabesequenz n ist.

Wenn man Permutationen der Länge L erhalten möchte, dann implementiert man es so.

from itertools import permutations
perm = permutations(, 2)
for i in list(perm):
print (i)


Ausgabe:

(1, 2)(1, 3)(2, 1)(2, 3)(3, 1)(3, 2)

Sie erzeugt nCr * r! Permutationen, wenn die Länge der Eingabesequenz n und der Eingabeparameter r ist.

Kombination

Diese Methode nimmt eine Liste und eine Eingabe r als Eingabe und gibt eine Objektliste von Tupeln zurück, die alle möglichen Kombinationen der Länge r in Listenform enthalten.

from itertools import combinations
comb = combinations(, 2)
for i in list(comb):
print (i)



Ausgabe:

(1, 2)(1, 3)(2, 3)
  1. Kombinationen werden in der lexikografischen Sortierreihenfolge der Eingabe ausgegeben. Wenn also die Eingabeliste sortiert ist, werden die Kombinationstupel in sortierter Reihenfolge ausgegeben.

    from itertools import combinations
    comb = combinations(, 2)
    for i in list(comb):
    print (i)

    
    

    
    

    Ausgabe:

    (2, 1)(2, 3)(1, 3)
  2. Elemente werden aufgrund ihrer Position als eindeutig behandelt, nicht aufgrund ihres Wertes. Wenn also die Eingabeelemente eindeutig sind, gibt es keine wiederholten Werte in jeder Kombination.

    from itertools import combinations
    comb = combinations(, 2)
    for i in list(comb):
    print (i)

    
    

    
    

    Ausgabe:

    (1, 1)(1, 3)(1, 3)
  3. Wenn wir eine Kombination von gleichem Element zu gleichem Element machen wollen, dann benutzen wir combinations_with_replacement.

    from itertools import combinations_with_replacement
    comb = combinations_with_replacement(, 2)
    for i in list(comb):
    print (i)

    
    

    
    

    Ausgabe:

    (1, 1)(1, 2)(1, 3)(2, 2)(2, 3)(3, 3) 
  4. Dieser Artikel wurde von Raju Varshney verfasst. Bitte schreiben Sie Kommentare, wenn Sie etwas falsch finden, oder Sie möchten mehr Informationen über das oben besprochene Thema teilen

Artikel-Tags :
Praxis Tags :

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.