从数组中的值中提取索引

时间:2019-11-05 09:25:52

标签: python

我想知道如何从表中提取值的索引。例如,我有此表(或矩阵):

[ [1. 4. 1. 2.]
[2. 5. 3. 2.]
[0. 4. 4. 2.]
[3. 6. 5. 2.]
[7. 8. 6. 2.]
[11. 1. 7. 2.]
[10. 17. 7. 2.] ]

值8位于第4行,如何使用python显示此索引(4)?

2 个答案:

答案 0 :(得分:2)

您可以使用numpy.where查找您的电话号码的出现:

import numpy as np
arr = np.array([[1, 4, 1, 2], [2, 5, 3, 2], [0, 4, 4, 2], [3, 6, 5, 2], [7, 8, 6, 2], [11, 1, 7, 2], [10, 17, 7, 2]])
i, j = np.where(arr == 8)

ij将保存矩阵中所有8个位置的数组。对于您的特定请求,您可以使用:

i[0] # OUTPUT 4

答案 1 :(得分:1)

如果我正确理解了您的问题,您想获取8正确的所有索引吗?

因此,您示例中的4是您想要得到的答案吗?

此代码将为您返回所有8次出现的索引:

myTable = [ [1, 4, 1, 2],
            [2, 5, 3, 2],
            [0, 4, 4, 2],
            [3, 6, 5, 2],
            [7, 8, 6, 2],
            [11, 1, 7, 2],
            [10, 17, 7, 2] ]

print ([(i)
   for i, myValue in enumerate(myTable)
   if 8 in myValue])