Page 1 of 1

Wie kann ich „Permutationen mit Wiederholungen/Ersetzungen“ aus einer Liste (kartesisches Produkt einer Liste mit sich s

Posted: 20 Jan 2025, 18:41
by Guest
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:

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)]
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?