小编典典

空列表中“全部”和“任何”结果的原因

python

在Python中,内置函数allanyreturnTrueFalse分别用于空的可迭代对象。我意识到,如果相反,仍然可以提出这个问题。但我想知道为什么选择了
这种特定 行为。是任意的,即。换一种方式是否一样容易,还是有潜在的原因?

(我问的原因仅仅是因为我不记得哪个是哪个,如果我知道背后的原因,那么我可能会发现。还有好奇心。)


阅读 227

收藏
2020-12-20

共1个答案

小编典典

怎么样的类比…

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

的情况all([])稍微困难一些。参见维基百科有关空虚真理的文章。另一个比喻:如果房间里没有人,那么房间里的每个人都会说法语。

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

其中集合A为空。

关于是否应该将虚假陈述视为真实存在很多争论,但是从逻辑角度来看,这是最有意义的:

所有虚无的真实陈述都是真实的主要论点如下:如关于逻辑条件的文章所述,命题逻辑的公理要求如果P为假,则P
=> Q为真。也就是说,如果我们接受这些公理,就必须接受虚无的真实陈述的确是真实的。

同样来自文章:

似乎没有直接的理由选择正确的方法。只是如果我们不这样做,事情就会在我们的脸上炸毁。

在Python中定义“虚假为真”语句以返回false会违反最小惊讶原则

2020-12-20