【发布时间】:2021-05-16 18:47:33
【问题描述】:
e = ''
all(e), any(e)
我预计all(e), any(e) 都返回 False。但是,all(e) 返回 True,而 any(e) 返回 False。
我不明白空字符串如何同时为真和假?
【问题讨论】:
-
e是一个空的可迭代对象,因此行为与all([])和any([])相同。在一个零元素的迭代中,所有元素都是真的(all意味着每个元素都必须是真的,当我们在可迭代中没有任何东西时,这是微不足道的)。在一个零元素的迭代中,所有零元素都是真的是错误的(any表示至少有一个元素必须是真的,但是因为在可迭代中没有任何内容,所以它是微不足道的错误)。
标签: python