有没有一种简洁易读的方法来检查可迭代对象中的所有元素是否都为True
(虽然这与我的问题无关,但可以假设所有值都是布尔值)?我想到了以下方法:
any(it) and not reduce(lambda x, y: x and y, it)
但我认为使用reduce使其有些难以理解,而且我不认为它有效:
In [1]: a=[True, True, False]
In [7]: any(a) and not reduce(lambda x, y: x and y, a)
Out[7]: True
有更易读的方式吗?
更新: 我发现了上面表达式中的错误。reduce()需要在看到True时停止而不是继续。