gpt4 book ai didi

python - 空列表上出现 "all"和 "any"结果的原因

转载 作者:IT老高 更新时间:2023-10-28 22:23:32 27 4
gpt4 key购买 nike

在 Python 中,内置函数 allany对于空的可迭代对象,分别返回 TrueFalse。我意识到,如果反过来,仍然可以问这个问题。但我想知道为什么选择那种特定的行为。它是任意的吗,即。是不是也一样容易,还是有根本原因?

(我问的原因很简单,因为我不记得哪个是哪个,如果我知道背后的基本原理,那么我可能会。还有好奇心。)

最佳答案

一些类比怎么样...

您有一个 socks 抽屉,但它目前是空的。它包含任何黑色 socks 吗?不——你根本没有 socks ,所以你肯定没有黑色的。显然 any([]) 必须返回 false - 如果返回 true,这将违反直觉。

all([]) 的情况稍微困难一些。请参阅关于 vacuous truth 的维基百科文章.另一个类比:如果一个房间里没有人,那么那个房间里的每个人都会说法语。

数学上all([])可以写成:

where the set A is empty.

关于空洞的陈述是否应该被认为是真实的存在相当大的争论,但从逻辑的角度来看,它是最有意义的:

The main argument that all vacuously true statements are true is as follows: As explained in the article on logical conditionals, the axioms of propositional logic entail that if P is false, then P => Q is true. That is, if we accept those axioms, we must accept that vacuously true statements are indeed true.

同样来自文章:

There seems to be no direct reason to pick true; it’s just that things blow up in our face if we don’t.

在 Python 中定义一个“虚无真实”的语句来返回 false 将违反 principle of least astonishment .

关于python - 空列表上出现 "all"和 "any"结果的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3275058/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com