有一个列表:
x = [5, "ce", 0, (32, "a")]
它不包含 None、空数组或 False 元素,因此它应该返回 True
。
0 不应被视为空对象。
y = [5, "ce", 0,, "", (32, "a")]
它包含一个空字符串,因此应该返回False
。
你会怎样以最快的方式做到这一点?
最佳答案
使用内置all
:
>>> all(e not in [None, []] and e is not False for e in [5, "ce", 0, (32, "a")])
True
>>> all(e not in [None, []] and e is not False for e in [5, "ce", 0, 0, (32, "a")])
False
我注意到使用 e not in [None, [], False]
时出现问题,因为 0 in [None, [], False]
给出 真
。
关于python - 如何检查 python 可迭代数组中的任何元素是否为 None、空数组或 False(不包括零)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58169065/