if all([0, 4, "Sample string"]):
print "Yes"
else:
print "No"
Run Code Online (Sandbox Code Playgroud)
尽管迭代具有所有值,但它始终打印否.我无法理解是什么让它评价为假.
all()
如果所有值都为true,则返回true ,请参阅函数文档:
返回
True
如果迭代的所有元素都是真(或者,如果可迭代为空).
0
不是真正的价值:
>>> bool(0)
False
Run Code Online (Sandbox Code Playgroud)
请参阅Python标准类型文档的真值测试部分:
以下值被视为false:
[...]
- 任何数字类型的零,例如,0,0.0,0j.