python矩阵搜索

时间:2012-01-09 09:49:27

标签: python matrix find element

如果我有以下矩阵:

import numpy

ar = numpy.array((('0','1','2','3'), ('1','a','b','b'), ('2','b','c','d')), str)
print(ar)

输出:

[['0' '1' '2' '3']
 ['1' 'a' 'b' 'b']
 ['2' 'b' 'c' 'd']]

我希望获得满足行和列条件的值。标题行是列(可以是字符串),左侧的第一列是所有行(可以是字符串)。因此,如果我的列为'2'而行为'2',则会得到'c'。我不知道'c'还只知道行和列的值。我该怎么做?

3 个答案:

答案 0 :(得分:3)

您可以使用numpy.where

In [7]: numpy.where(ar == 'c')
Out[7]: (array([2]), array([2]))

In [8]: ar[numpy.where(ar == 'c')]
Out[8]: 
array(['c'], 
      dtype='|S1')

答案 1 :(得分:2)

如果您的意思是搜索“c”:

numpy.where(ar == 'c')

答案 2 :(得分:1)

ar = [['0', '1', '2', '3'],
 ['1', 'a', 'b', 'b'],
 ['2', 'b', 'c', 'd']]

print(ar[2][2])

以上内容仅用于访问第2列第2行中的“c”,如果您想访问整个列,则需要:

for i in range(0, 3):
    print(ar[2][i])