2017-04-06 67 views
2

中的indeces要獲得satifies一個條件列表中的indeces,說None我可以這樣做:蟒蛇:找到嵌套列表由條件

[x for (x, e) in enumerate(my_list) if e is None]

但我不能讓我的頭周圍做什麼用使用與上面相同的方案的嵌套列表。例如,如何找到嵌套(內部)列表中第一個元素爲Nonemy_nlist的單元。

my_nlist = [[None, 2], [13, 2], [None, 1]]

預期的結果將是: [0,2]

回答

4

同前一個只使用一個元組作爲項目一次性變量:

In [5]: [ind for ind, (i, j) in enumerate(my_nlist) if i is None] 
Out[5]: [0, 2] 
+0

哇 - 理解它:'(i,j)'元組對應於'e'(在扁平列表的情況下)? – user3375672

+0

@ user3375672是的,沒錯。 – Kasramvd

3

numpy的做法(也許更清晰比基地python,但需要一個庫):

import numpy as np 

np.where([None in i for i in L]) 

#(array([0, 2], dtype=int64),)