如果我有一个变量列表[A, B, C, D]
。我如何有效地找到哪个是None
?
我有
if None in (A, B, C, D):
ValueError("None found.")
Run Code Online (Sandbox Code Playgroud)
但是它仅测试其中是否没有None,并且无法找到它。我可以使用for
循环轻松找到它,但是请不要这样做...我需要的是
if None in (A, B, C, D):
# Find where is None
ValueError("None found in {?}.")
Run Code Online (Sandbox Code Playgroud)
假设您有以下列表:
x = [3, 5, None, 2, None]
Run Code Online (Sandbox Code Playgroud)
如果要第一个无:
x.index(None)
Run Code Online (Sandbox Code Playgroud)
输出2
,第一个最左边的索引None
。
如果要None
s的所有索引:
[i for i, v in enumerate(x) if v is None]
Run Code Online (Sandbox Code Playgroud)
输出[2, 4]
,None
列表中所有的索引。