Python断言列表中的所有元素均不为None。

15 浏览
0 Comments

Python断言列表中的所有元素均不为None。

这个问题已经在以下回答中有了答案:

如何检查列表中的所有元素是否满足条件?

检查一个值是否存在于一个列表中的最快方法是什么?

列表是否有一个简单的包含功能?

Python List Class __contains__ Method Functionality

我想知道我们是否能够断言列表中的所有元素都不是None,因此当a = None时会引发错误。

示例列表是[a, b, c]

我尝试过assert [a, b, c] is not None,它会返回True,但如果有任何一个元素不是None,它就不会验证所有。您能帮忙解决吗?谢谢!

admin 更改状态以发布 2023年5月21日
0
0 Comments

你是指 all

>>> assert all(i is not None for i in ['a', 'b', 'c'])
>>>

还是仅仅:

assert None not in ['a', 'b', 'c']

附言:刚注意到 @don'ttalkjustcode 添加了上面的内容。

或者使用 min

>>> assert min(a, key=lambda x: x is not None, default=False)
>>>

0
0 Comments

除非你有一个声称等于 None 的奇怪元素:

assert None not in [a, b, c]

0