つまり、「16要素リストのインスタンス」を8回参照したリストを作成したことになります。 >>> import sys >>> d = [0] * 16 >>> ar2 = [d,d,d,d,d,d,d,d] >>> sys.getrefcount(d) 10 「sys.getrefcount」は引数としての参照数も含んで報告してくれますので、 10参照カウントという結果になります。 このように参照カウントが増えるだけで 「16要素リストのインスタンス」のコピーが8要素配列にセットされるわけではないため、 当然、以下のような操作をするとおかしなことに。 >>> ar2[0][0]=123 >>> ar2 [[123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [123, 0, 0, 0, 0, 0, 0, 0, 0,