2017-05-28 148 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

不用擔心!我爲你重寫了答案。 –