arr = [['.' for i in range(4)] for j in range(4)]
for line, i in enumerate(arr):
for column, j in enumerate(i):
print(j, 'at column', column+1, 'line', line+1) # we can know which
# postition takes
# every element
座標が他の座標と異なるかどうかをチェックするループがどのようになるか。2次元アレイのすべての要素にアクセスして置き換える方法を教えてください。
私は最終的に取得したい:
擬似コード:
#arr[x][y]
arr[1][0] = 'new'
if arr[1][4] - arr[1][0] == 4: # i.e. coord are different by `y` on 4 pos
arr[1][4] = 'new'`
# Before || After
[[' ', 'new', ' ', ' '],|| [[' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' '], || [' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' '], || [' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' '], || [' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' ']] || [' ', 'new', ' ', ' ']]
OR
#arr[x][y]
arr[0][0] = 'new'
if arr[3][0] - arr[0][0] == 3: # i.e. coord are different by `x` on 3 pos
arr[3][0] = 'new'`
# Before || After
[['new', ' ', ' ', ' '],|| [[' ', ' ', ' ', 'new'],
[' ', ' ', ' ', ' '], || [' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' '], || [' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' '], || [' ', ' ', ' ', ' '],
[' ', ' ', ' ', ' ']] || [' ', ' ', ' ', ' ']]
必ずしも位置をとるメインリスト内のどのリスト知っておく必要がありますが、どのようにそれネイティブのpythonを使用して、numpyなしでループの外側で行うのですか?
質問を再整理していただけますか?以前に書かれた場所以外のすべての分野に新しいものを書いてほしいですか? –
@SebastianWalla、いいえ、私はちょうど可能性のある動きをチェックして、2次元配列の 'new'要素の位置を変更したいだけです。すべてのセル座標「x」と「y」をどのように適合させるかを知ることができないので、難しいです。 – This4fun