2017-05-28 112 views
0

这应该不会那么难。假设我有一个二维数组:python中的二维数组索引值

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

这是你在找什么:

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

说明:

我们在清单a在这a元素[k,v]有元素v等于空间要求所有索引i

+0

对不起。我没有说明。我所追求的是这些在阵列中的位置?我不是在寻找答案['5','5'],但是这个答案是:[1,4]。这意味着如果数组从0开始,第二列a ==''的位置。 – Leigh

+0

不用担心!我为你重写了答案。 –