当前位置: 首页 > 面试题库 >

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

邹开畅
2023-03-14
问题内容

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

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


问题答案:

怎么样的类比…

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

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

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

其中集合A为空。

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

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

同样来自文章:

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

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



 类似资料:
  • 我正在使用JOOQ和Postgres。在博士后中,我有一个专栏性别: (表本身是一个视图,性别列是用Java计算的值的占位符) 在Java中,当I.fetch()视图时,我会对每条记录进行一些计算: 所有看起来都很好,如果打印值,它们都是正确的。但是,当我在我的技能记录上调用intoResultSet()时,性别列在所有值旁边都有一个星号,例如“*男性”。 然后,我使用结果集作为OpenCSV C

  • 似乎人们总是说,如果一个单链接列表的头是空的,那么这个列表是空的,但是检查尾部也会起作用吗?假设我确实知道一个列表有一个尾部,我可以检查尾部是否为空以确定它是否为空吗?

  • 我试图对result1和result2的值求和,但结果是未知的列result1。有人能帮忙吗?我做错了什么?

  • 问题内容: 我像这样在Redis中存储列表: 然后我像这样返回列表: 我得到这样的东西: 如何将其转换为实际的Python列表? 另外,我看不到其中定义的任何内容有帮助吗?我想念什么吗? 可能的解决方案(我认为很糟糕)可以是: 更新 好的,所以我找到了解决方案。 实际上,该函数希望所有列表项都作为参数传递,而不是作为单个列表传递。来自redis-py来源的功能签名使其清晰可见… 我在上面做的是发送

  • 当我执行剧本时,这确实是正常的 并且在/var/log/ansible.log中也看起来和执行输出一样正常 所以问题是,我必须做更少的设置吗?为什么有一个任务不在执行列表中,或者有其他调试输出可以显示更详细的输出信息? 以下是我的ansible配置 OS版本:Ubuntu 18.04.5LTS ansible版本: ansible.cfg

  • 我有一个表,其列如下所示: 符号 区域 国家 位置 日期 计数 我创建了如下表: null 简单地说,我想要支持where子句中所有或任意数量列的表结构。 在卡桑德拉有可能做到这一点吗?