如何访问2d数组的每个元素而不是替换它们?

时间:2017-05-28 05:28:19

标签: python

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

如何检查坐标是否与另一个坐标不同。

我想要进入决赛:

伪代码:

#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 :(得分:0)

  

问题:如何检查坐标是否与另一个坐标不同。

使用tuple定义坐标,然后比较tuples

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

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

类型list为0 你有一份清单。

RC坐标系,与Excel相同 R == list中的list索引== y ==行
C ==在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]

使用相反的

#arr[y][x]

第一个索引= y是listarr的索引,别名
第二个索引= x是使用list选择的y内的索引,别名