在python中索引2D数组中的值

时间:2017-05-28 00:25:04

标签: arrays indexing

这不应该那么难。假设我有一个2D数组:

a = [['1' 'George']
     ['5' ' ']
     ['7' 'Jose']
     ['5' ' ']
     ['7','Fred']]

我希望找到所有索引值a[:,1] == ' '

我最好的猜测是:

missing_vals = a[a[:,' ']==' '
a[missing_vals] 

我不想要答案:

   ['5','5'] 

但答案是:

[1,4]

表示数组的第2和第5个元素。

感谢。

1 个答案:

答案 0 :(得分:1)

这就是你要找的东西:

>>> a = [['1', 'George'],
...       ['5', ' '],
...       ['7', 'Jose'],
...       ['5', ' '],
...       ['7','Fred']]
>>> [i for i, [k,v] in enumerate(a) if v == ' ']
[1, 3]

说明:

我们要求列表i中的所有索引a[k,v]中的元素a的元素v等于空格。< / p>