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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie kann ich „Permutationen mit Wiederholungen/Ersetzungen“ aus einer Liste (kartesisches Produkt einer Liste mit sich s

by Guest » 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:

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?

Top