0

によって作成されたpythonリストがあります。model = [[[[0,0,0,0]]*4]*15]*5これは、次のようなリストです(簡潔なドットなし):. model = [[[[0,0,0,0],...[0,0,0,0]]...[[0,0,0,0],...[0,0,0,0]]]...[[[0,0,0,0],...[0,0,0,0]]...[[0,0,0,0],...[0,0,0,0]]]]問題は、ゼロの1つを他の値に設定しようとすると、

def setLED(model,boardid,chipid,tankid,ledid,value): model[boardid][chipid][tankid][ledid]=value

4 つのゼロのすべてのリストが同じに設定されます。つまり、setLED(model,0,0,0,0,255) を使用しようとすると、4 つのゼロのすべてのリストの最初の値は 255 になります。意図した結果は、最初の 4 つのゼロのリストのみです (つまり、model[0 ][0][0][0])、変更されます。ファイルを添付する方法はないと思いますが、必要な人がいる場合は、リストの全内容を投稿できます。

なぜこれが起こっているのかを理解できる人に前もって感謝します。

編集:これは、ネストされたリスト インデックスの複製です

4

1 に答える 1