python - 集合的 all() 方法的逻辑

标签 python set boolean

如果集合中的所有元素都为真,则 all() 方法返回真。以下矛盾结果背后的逻辑是什么:

结果 1:

D = {'0', '000', ''}    
all(D)

#output: 
False

结果 2:

for e in D:    
    print(all(e))

#output:
True
True
True

最佳答案

python docs这里很清楚:

all(iterable)
Return True if all elements of the iterable are true (or if the iterable is empty).

在第二种情况下,您基本上是在问:

all('')

这是一个空的可迭代对象,所以它是 True

在第一种情况下,您询问集合中的每个 项是否为 boolean 值 True,并且空字符串为 not truthy .它基本上归结为:

all('') != bool('')

关于python - 集合的 all() 方法的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64501460/

相关文章:

visual-c++ - Visual C++ boolean 错误

python - list[ :] in this code? 是什么意思

python - Pyramid "per object"权限

python - 使用 pandas 问题在 matplotlib 中绘制子图

python - 从集合字典中获取一组值

android - 如何以编程方式设置铃声android

java - boolean 数组值比较

javascript - 我很困惑名称是什么数据类型?函数数据类型或 boolean 数据类型,因为它会返回 boolean 值?

python - 获取句子中字母的频率

javascript - 您将如何使用此脚本来获取/设置 cookie?小脚本