Wie kann ich „Permutationen mit Wiederholungen/Ersetzungen“ aus einer Liste (kartesisches Produkt einer Liste mit sich s
Posted: 20 Jan 2025, 18:41
Angenommen, ich habe eine Liste die_faces = [1, 2, 3, 4, 5, 6]. Ich möchte alle 36 möglichen Ergebnisse für das Würfeln mit zwei Würfeln generieren: (1, 1), (1, 2), (2, 1) usw. Wenn ich versuche, Permutationen zu verwenden< /code> aus der itertools-Standardbibliothek:
Es gibt nur 30 Ergebnisse, es fehlen diejenigen, bei denen auf beiden Würfeln die gleiche Zahl erscheint. Es scheint, dass es nur Permutationen ohne Wiederholungen erzeugt. Wie kann ich das beheben?
Code: Select all
>>> import itertools
>>> die_faces = [1, 2, 3, 4, 5, 6]
>>> list(itertools.permutations(die_faces, 2))
[(1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (2, 3), (2, 4), (2, 5), (2, 6), (3, 1), (3, 2), (3, 4), (3, 5), (3, 6), (4, 1), (4, 2), (4, 3), (4, 5), (4, 6), (5, 1), (5, 2), (5, 3), (5, 4), (5, 6), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5)]