Ich versuche, eine Liste von 4 Elementen iterativ mischen, dann fügen Sie die gemischt Liste auf eine wachsende Liste. Das Ergebnis wird eine Liste sein, die ein Vielfaches von 4 Elementen lang ist, wobei alle vier Elemente eine Kombination aus meiner ursprünglichen Liste sind.Iterative grow eine gemischte Liste in Python
Mein Code ist
import random
list1 = ['X','Y','Z','Q']
list2 = []
for drop in range(0,72/4):
random.shuffle(list1)
list2.append(list1)
Das Problem, das ich zu haben scheinen, ist, dass list2 wird die gleiche Shuffled Version von list1 immer und immer sein.
Beispiel list2: ['Q', 'X', Z ',' Y ',' Q ',' X ', Z', 'Y', 'Q', 'X', Z ',' Y‘, ...]
Gibt es einen Grund, warum list2.append (list1) dieselbe Instanz immer wieder hinzufügt? Meine Logik war, dass list1 während jeder Schleife neu geordnet würde. –
Beachten Sie zuerst, dass Sie mit 'list2.append (list1)' 'die Elemente von list1 nicht zu list2 hinzufügen. Sie fügen list1 selbst zu list2 hinzu (['X', 'Y', 'Z', 'Q'] gegen [['X', 'Y', 'Z', 'Q']]). Da keine Kopie von list1 erstellt wird, ändert 'random.shuffle (list1)' alle Vorkommen von list1 in list2. – user1202136