Python bietet direkte Methoden, um Permutationen und Kombinationen einer Sequenz zu finden. Diese Methoden sind im itertools-Paket vorhanden.
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.
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)
- 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)
- 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)
- 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)
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 :