2

したがって、整数の2次元リストがあり、それぞれ小さい2次元リストを最初のリストに割り当てたいと思います。つまり、最初のリストaが次のような場合:

[[2, 2 , 2 , 2 ]
,[2, 2 , 2 , 2 ]
,[2, 2, 2, 2]]

このリストを割り当てたい

[[1,1,1]
,[1,1,1]] (実際には [[1]*3]*2)

[0:2][1:4] の位置 にある最初のリストaに

[[2, 1 , 1 , 1 ]
,[2, 1 , 1 , 1 ]
,[2, 2, 2, 2]]

現在、このコードを使用しています

for i in range(0,2):
    a[i][1:4]=[1]*3

、1 次元の浅いコピー [?:?] リスト割り当てを使用します。
a[i:y][j:z] のような二次元リストを取得する方法はありますか?
どうもありがとうございました。

4

2 に答える 2

0

コードの簡潔さを求めるなら、独自の関数を作成してみませんか?

def set_items(arr, val, x_lims, y_lims):
    for i in range(x_lims[0], x_lims[1]):
        arr[i][y_lims[0]:y_lims[1]] = val

set_items(a, [1]*3, [0, 2], [1, 4])
于 2013-07-25T04:15:49.477 に答える