Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python alle Permutationen mit Wiederholungen aus einer Liste generieren?
Erhalten von Permutationen mit Wiederholungen aus einer Liste
Beim Versuch, alle möglichen Kombinationen aus einer Liste mithilfe von Permutationen zu generieren, tritt häufig das Problem auf Wiederholungen auszuschließen. In diesem Szenario möchten Sie alle 36 Ergebnisse für das Würfeln von zwei Würfeln erzielen, einschließlich Paarungen mit derselben Zahl.
Um diese Einschränkung zu beheben, ist es notwendig, das Konzept des kartesischen Produkts zu verwenden. Das kartesische Produkt zweier Mengen stellt das direkte Produkt dieser Mengen dar. In diesem Fall wäre das kartesische Produkt für Ihre Menge, die [1, 2, 3, 4, 5, 6] mit sich selbst enthält, {1, 2, 3, 4, 5, 6} x {1, 2, 3, 4 , 5, 6}.
Die Python-Standardbibliothek stellt das Modul itertools bereit, das die Funktionalität zur Berechnung kartesischer Produkte bietet. Durch die Verwendung der Produktmethode und die Angabe des Wiederholungsparameters mit der gewünschten Anzahl an Wiederholungen (z. B. Wiederholung = 2) können Sie alle möglichen Kombinationen einschließlich Wiederholungen generieren.
Zum Beispiel:
import itertools die_faces = [1, 2, 3, 4, 5, 6] result = [p for p in itertools.product(die_faces, repeat=2)]
Dieser Code erzeugt die folgende Ausgabe:
[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6)]
Dieses Ergebnis umfasst alle 36 möglichen Ergebnisse für das Würfeln mit zwei Würfeln und stellt sicher, dass es Wiederholungen gibt abgerechnet.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python alle Permutationen mit Wiederholungen aus einer Liste generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!