2017-04-06 65 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),)