python:按条件查找嵌套列表的索引
python: find the indeces of nested list by condition
要获取满足条件的索引列表,请说None
我可以这样做:
[x for (x, e) in enumerate(my_list) if e is None]
但我不知道如何使用与上述相同的方案处理嵌套列表。例如,如何找到 my_nlist
的索引,其中嵌套(内部)列表中的第一个元素是 None
。
my_nlist = [[None, 2], [13, 2], [None, 1]]
预期结果为:
[0,2]
与上一个相同,只是使用元组作为项目一次性变量:
In [5]: [ind for ind, (i, j) in enumerate(my_nlist) if i is None]
Out[5]: [0, 2]
一种使用 numpy
的方法(可能比基础 python
更清晰,但需要一个库):
import numpy as np
np.where([None in i for i in L])
#(array([0, 2], dtype=int64),)
要获取满足条件的索引列表,请说None
我可以这样做:
[x for (x, e) in enumerate(my_list) if e is None]
但我不知道如何使用与上述相同的方案处理嵌套列表。例如,如何找到 my_nlist
的索引,其中嵌套(内部)列表中的第一个元素是 None
。
my_nlist = [[None, 2], [13, 2], [None, 1]]
预期结果为:
[0,2]
与上一个相同,只是使用元组作为项目一次性变量:
In [5]: [ind for ind, (i, j) in enumerate(my_nlist) if i is None]
Out[5]: [0, 2]
一种使用 numpy
的方法(可能比基础 python
更清晰,但需要一个库):
import numpy as np
np.where([None in i for i in L])
#(array([0, 2], dtype=int64),)