2017-05-28 3 views
0
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なしでループの外側で行うのですか?

+1

質問を再整理していただけますか?以前に書かれた場所以外のすべての分野に新しいものを書いてほしいですか? –

+0

@SebastianWalla、いいえ、私はちょうど可能性のある動きをチェックして、2次元配列の 'new'要素の位置を変更したいだけです。すべてのセル座標「x」と「y」をどのように適合させるかを知ることができないので、難しいです。 – This4fun

答えて

0

質問:座標が別の座標と異なるかどうかをチェックするループ。

その後、tuplesを比較し、tupleを使用して座標の定義:

RC = (1,4) 
RC2 = (1,0) 

if RC == RC2: 
    print('Equal') 
else: 
    print('Different') 

タイプlistは0あなたはリストのリストを持っている 基づいています。

RCシステム、エクセル
R == list == yのlistのインデックス==行
list == X ==列

 A B C D 
C =>  0 1 2 3 
    ---------------------- 
R:0 | [0.0, 0.1, 0.2, 0.3] 
R:1 | [1.0, 1.1, 1.2, 1.3] 
R:2 | [2.0, 2.1, 2.2, 2.3] 
R:3 | [3.0, 3.1, 3.2, 3.3] 
内部C ==インデックスと同じ座標

最初のインデックス= yがINDEある反対

#arr[y][x] 

を使用x listarr、別名
、別名コラムで選択されたlist内の2番目のインデックス= xのインデックスです。

+0

それを取得しないでください、あなたは説明できますか?どのように役立ちますか? – This4fun

+0

@ This4fun:私のAnswerReadを更新しました[私の質問に誰かが答えたときにどうすればいいですか?] https://stackoverflow.com/help/someone-answers – stovfl

関連する問題