您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么内置于“ all”函数中的Python对于空的可迭代对象返回True?

为什么内置于“ all”函数中的Python对于空的可迭代对象返回True?

这表示为“对于S中的所有X,X为真”。如果S为空,则没有X。但是,真值声明仍然为True,因为对于所有X来说,X都是真实的……根本就没有X!

这是使用逻辑的解释。

考虑两个集合A和B,其中A + B是两个集合的并集。

如果any(A + B)= True-> any(A)或any(B)= True,但是我们不能断言any(A)= True或any(B)= True。

如果any(A + B)= False-> any(A)= False和any(B)= False。

如果all(A + B)= True-> all(A)= True和all(B)= True

如果all(A + B)= False-> all(A)= False或all(B)= False,但是我们不能断言all(A)= False或all(B)= False。

现在代替B,让我们将空集0添加到A。我们想提出逻辑,使得添加空集不会更改all()或any()的值,因为A + 0 = A。

任何(A + 0)=任何(A)或任何(0)

any(0)必须为False,因此,如果any(A)为True,则any(A + 0)为True,如果any(A)为False,则any(A + 0)为False。

全部(A + 0)=全部(A)和全部(0)

如果all(A)为True,则all(A + 0)为True。因此,all(0)为True。

python 2022/1/1 18:37:53 有250人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶