Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python alle Permutationen mit Wiederholungen aus einer Liste generieren?

Wie kann ich in Python alle Permutationen mit Wiederholungen aus einer Liste generieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-26 02:48:12395Durchsuche

How Can I Generate All Permutations with Repetitions from a List in Python?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn