4つの要素のリストを繰り返しシャッフルしようとしていますが、シャッフルされたリストを成長するリストに追加しようとしています。結果は、4つの要素の倍数であるリストになり、4つの要素はすべて元のリストの一部の組み合わせになります。反復的にシャッフルされたリストをPythonで作成する
私のコードは、私が持っているように見える問題は、リスト2には何度もリスト1の同じシャッフルバージョンになるということです
import random
list1 = ['X','Y','Z','Q']
list2 = []
for drop in range(0,72/4):
random.shuffle(list1)
list2.append(list1)
です。 [Q、X、Z、Y、Q、X、Z、Y、Q、X、Z、Z] Y」、...]
list2.append(list1)が同じインスタンスを何度も何度も繰り返している理由はありますか?私の論理は、各ループ中にlist1が再配置されるということでした。 –
まず、 'list2.append(list1)'ではlist1の要素をlist2に追加しないことに注意してください。 list1(['X'、 'Y'、 'Z'、 'Q']])にリスト1を追加します。 list1のコピーが作成されていないので、 'random.shuffle(list1)'はlist2のlist1のすべての出現を変更します。 – user1202136