用索引迭代numpy(相当于python枚举的numpy)

发布于 2021-01-29 14:56:43

我正在尝试创建一个函数,该函数将计算多维numpy数组中元素之间的晶格距离(水平和垂直步数)。为此,我需要在遍历数组时从每个元素的索引中检索实际数字。我想将这些值存储为可以通过距离公式运行的数字。

对于示例数组A

 A=np.array([[1,2,3],[4,5,6],[7,8,9]])

我想创建一个循环遍历每个元素的循环,对于第一个元素1,它将检索a = 0,b = 0,因为1处于A [0,0],然后对于元素来说a = 0,b = 1
2,因为它位于A [0,1],依此类推…

我设想的输出是数组中每个元素的两个数字(对应于该元素的两个索引值)。因此,在上面的示例中,这就是我分配的两个值分别为a和b。我只需要在循环内检索这两个数字(而不是分别另存为另一个数据对象)。

任何想法如何做到这一点将不胜感激!

关注者
0
被浏览
70
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用来遍历数组中的值,numpy.ndenumerate以获取数组中值的索引。

    使用上面的文档:

    A = np.array([[1,2,3],[4,5,6],[7,8,9]])
    for index, values in np.ndenumerate(A):
        print(index, values)  # operate here
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看