如何从该矩阵生成的列表中获取矩阵中元素的索引?

用户名

在这段代码中,m是一个矩阵。xy是矩阵中1的坐标,此代码是其POV的坐标。我创建了一个嵌套在另一个循环中的循环,该循环将矩阵中的每个元素添加x指定的元素周围y,该列表指定neighbors我从邻居列表中选取一个随机元素。我怎么可以把这个元素,并找到它的索引(或它xy矩阵中的位置)m

m = [
    [0, 0 ,0 ,0],
    [0 ,2 ,0 ,0],
    [0 ,1, 0 ,0],
    [0 ,0 ,0, 0]
    ]

x = 1 # x coordinate of 1 in the matrix
y = 2 # y coordinate of 1 in the matrix
neighbors = [] # empty list regarding the neighbors of 1 which will be generated with the loop

for x_elem in (x-1, x, x+1):
    for y_elem in (y-1, y, y+1):
        element = m[y_elem][x_elem] # getting the element in m

        neighbors.append(element) # taking that element and appending it to the neighbors list
        if m[y_elem][x_elem] == m[y][x]: # if the element is the same as itself (aka 1), remove it from neighbors
            neighbors.remove(m[y_elem][x_elem])

print(neighbors) # [0, 0, 0, 2, 0, 0, 0, 0]
c = random.choice(neighbors) # take a random element of the neighbors
print(c)
#how to get c's index in the 2d array m
曼尼什

尝试附加此逻辑。因为我们只检查邻居,所以逻辑要简单得多。主要逻辑是在计算邻居时捕获x和y索引,并将其附加到List(List),其中内部列表具有三个元素,即第一个元素,第二个x索引和第三个y索引。然后,一个简单的打印语句就可以满足期望。

x = 1 # x coordinate of 1 in the matrix
y = 2 # y coordinate of 1 in the matrix

neighborsArr = []
for x_elem in (x-1, x, x+1):
    for y_elem in (y-1, y, y+1):
        element = m[y_elem][x_elem] # getting the element in m
        if m[y_elem][x_elem] != m[y][x]: # if the element is the same as itself (aka 1), remove it from neighbors
            neighborsArr.append([element,x_elem, y_elem])

print(neighborsArr)

# [[0, 0, 1], [0, 0, 2], [0, 0, 3], [2, 1, 1], [0, 1, 3], [0, 2, 1], [0, 2, 2], [0, 2, 3]]

c = random.choice(neighborsArr) # take a random element of the neighbors
print(c)
# [0, 2, 2]

print(c[0])
# 0
print("neighbour element : ", c[0], "\tx_index: ",c[1], "\ty_index :", c[2])
# neighbour element :  0    x_index:  2     y_index : 2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取Haskell列表中元素的索引

来自分类Dev

如何最好地构造一个矩阵,该矩阵的元素恰好是其索引或Matlab中索引的函数?

来自分类Dev

当用数组填充列表时,如何在SwiftUI中获取列表中元素的索引?

来自分类Dev

获取矩阵排序元素的索引

来自分类Dev

Haskell-如何获取列表中元素的索引?

来自分类Dev

从Matlab的索引列表中获取矩阵的值列表

来自分类Dev

TypeError:尝试获取矩阵中元素的乘积时,无法将序列乘以“列表”类型的非整数

来自分类Dev

如何使用numpy中的指定索引从3D矩阵中获取元素?

来自分类Dev

获取列表中元素的索引(python)

来自分类Dev

如何根据另一个矩阵中元素的顺序在Matlab中重新排列矩阵中的元素?

来自分类Dev

如何根据另一个矩阵中元素的顺序在Matlab中重新排列矩阵中的元素?

来自分类Dev

如何在Swift中获取NSMutableArray中元素的索引?

来自分类Dev

飞镖:获取列表2中元素的索引(列表1中的元素)

来自分类Dev

如何在python中使用numpy获取二维矩阵(列表)中具有最多给定元素的列和行的索引

来自分类Dev

从具有相同索引的矩阵生成列表

来自分类Dev

OpenCV矩阵中元素的总和?

来自分类Dev

OpenCV矩阵中元素的总和?

来自分类Dev

矩阵幂中元素的总和

来自分类Dev

如何获取std :: deque中元素的索引

来自分类Dev

如何获取Set对象中元素的索引

来自分类Dev

如何获取numpy数组中元素的索引?

来自分类Dev

numpy:给出矩阵的非零索引如何将元素提取到子矩阵中

来自分类Dev

使用C中的线程的矩阵中元素的总和

来自分类Dev

将生成的随机矩阵的索引存储在单独的矩阵中

来自分类Dev

如何使用python中的列表元素制作矩阵

来自分类Dev

将稀疏矩阵索引列表转换为R中的矩阵

来自分类Dev

通过Numpy中的矩阵索引列表访问矩阵

来自分类常见问题

numpy:如何使用矩阵元素作为索引?

来自分类Dev

numpy:如何使用矩阵元素作为索引?

Related 相关文章

  1. 1

    如何获取Haskell列表中元素的索引

  2. 2

    如何最好地构造一个矩阵,该矩阵的元素恰好是其索引或Matlab中索引的函数?

  3. 3

    当用数组填充列表时,如何在SwiftUI中获取列表中元素的索引?

  4. 4

    获取矩阵排序元素的索引

  5. 5

    Haskell-如何获取列表中元素的索引?

  6. 6

    从Matlab的索引列表中获取矩阵的值列表

  7. 7

    TypeError:尝试获取矩阵中元素的乘积时,无法将序列乘以“列表”类型的非整数

  8. 8

    如何使用numpy中的指定索引从3D矩阵中获取元素?

  9. 9

    获取列表中元素的索引(python)

  10. 10

    如何根据另一个矩阵中元素的顺序在Matlab中重新排列矩阵中的元素?

  11. 11

    如何根据另一个矩阵中元素的顺序在Matlab中重新排列矩阵中的元素?

  12. 12

    如何在Swift中获取NSMutableArray中元素的索引?

  13. 13

    飞镖:获取列表2中元素的索引(列表1中的元素)

  14. 14

    如何在python中使用numpy获取二维矩阵(列表)中具有最多给定元素的列和行的索引

  15. 15

    从具有相同索引的矩阵生成列表

  16. 16

    OpenCV矩阵中元素的总和?

  17. 17

    OpenCV矩阵中元素的总和?

  18. 18

    矩阵幂中元素的总和

  19. 19

    如何获取std :: deque中元素的索引

  20. 20

    如何获取Set对象中元素的索引

  21. 21

    如何获取numpy数组中元素的索引?

  22. 22

    numpy:给出矩阵的非零索引如何将元素提取到子矩阵中

  23. 23

    使用C中的线程的矩阵中元素的总和

  24. 24

    将生成的随机矩阵的索引存储在单独的矩阵中

  25. 25

    如何使用python中的列表元素制作矩阵

  26. 26

    将稀疏矩阵索引列表转换为R中的矩阵

  27. 27

    通过Numpy中的矩阵索引列表访问矩阵

  28. 28

    numpy:如何使用矩阵元素作为索引?

  29. 29

    numpy:如何使用矩阵元素作为索引?

热门标签

归档