谁能帮助我了解为什么以下Python脚本会返回True
?
x = ''
y = all(i == ' ' for i in x)
print(y)
我想这与x
零长度实体有关,但不能完全理解。
all()``True
除非 序列中存在元素, 否则 始终返回False
。
您的循环产生0个项目,因此True
返回。
这是记录:
返回
True
如果的所有元素 迭代 是真实的( 或者,如果可迭代为空 )。
强调我的。
同样,any()
将始终返回False
,
除非 序列中的元素为True
,所以对于空序列,any()
将返回默认值:
>>> any(True for _ in '')
False
问题内容: 使用Python正则表达式如何获得/返回?所有Python回报是: 问题答案: 对象始终为true,如果不匹配,则返回。只是测试真实性。
问题内容: 这个问题已经在这里有了答案 : 生成器表达式使用生成器创建后分配的列表 (5个答案) 去年关闭。 我正在运行一段代码,该代码在程序的某个部分意外出了逻辑错误。在研究本节时,我创建了一个测试文件来测试正在运行的语句集,并发现了一个看起来很奇怪的异常错误。 我测试了以下简单代码: 输出为: 是的,什么都没有。我期望过滤器理解能获得2中的项并输出,但是我没有得到: 当我注释掉第三行再次对其进
问题内容: 我知道这有充分的理由,但我想知道是什么原因? 如果all()用于检查iterable上的每个项目是否均评估为“ True”,并且我们知道空列表的评估结果为False 那么,为什么all()对于空列表返回True? <编辑> 我已经阅读了文档,并且知道实现 但是问题是为什么不呢? 这有逻辑吗?如果您有已完成任务的列表 好的,在上面的 假设 示例中,如果我没有任务,那真的很有意义,所以我可
问题内容: 在Python中,通过 生成器表达式 创建生成器对象与使用 yield 语句之间有什么区别吗? 使用 yield : 使用 生成器表达式 : 这两个函数都返回生成器对象,这些对象生成元组,例如(0,0),(0,1)等。 一个或另一个有什么优势吗?有什么想法吗? 谢谢大家!这些答案中有很多不错的信息和进一步的参考! 问题答案: 两者之间只有细微的差别。您可以使用该模块自己检查这种事情。
问题内容: 在Python 2.6中查看Queue.py时,我发现这个结构有点奇怪: 如果maxsize为0,则队列永远不会满。 我的问题是在这种情况下如何运作?如何0 < 0 == 0被认为是错误的? 问题答案: 我相信Python对关系运算符的序列有特殊的处理方式,以使范围比较易于表达。能说比说好得多。 这些称为链接比较。这是他们文档的链接。 在您谈论的其他情况下,括号会强制在一个关系运算符之
Quartz 的Cron任务调度表达式一般人很难理解,在Googole上查询也没有发现类似的代码,所以开发了一个对Quartz Cron 表达式的可视化双向解析和生成的一个java的GUI程序,供使用Quartz的程序员参考和使用,源代码放在SourceForge网站