查找多维数组中某个子数组的索引值(mark)

不知道是不是表达语义不够清楚,查找相关代码一直没找到合适的,为避免以后麻烦,把相关代码整理了一下。

1. 问题1

从二维数组中找到对应子数组的索引值,也就是找到[2,3]数组所在索引值。

import numpy as np
myArray3 = np.array([[1,1],[2,3],[3,2],[5,5]])
def get_index(seq, arrays):
     for i,array in enumerate(arrays):
         if (seq==array).all():
            print("索引为:{}".format(i))
get_index([2,3], myArray3)

结果

索引为:1

问题2

从一个复杂多维数组中找到对应子数组的索引值,但二维似乎不行,没深究

import numpy as np
array = np.array([[[1, 2], 3], [[4, 5], 6], [[7, 8], 9]])
f = np.vectorize(lambda x: x==[4,5])
idx = np.where(f(array))
print("索引为:{}".format(idx[0][0]))

结果

索引为:1

你可能感兴趣的:(numpy,python)