【发布时间】:2013-12-25 07:14:30
【问题描述】:
对 Python 中的 all() 运算符有疑问。 说
array = ["one","one","one"]
all( x=="one" for x in array ) <<--- i want to check for all "one" in array
上述方法似乎有效。但是,如果我有
array = []
all( x=="one" for x in array ) <<--- this still return true to me.
如果所有项目都不是“一个”,我希望它返回 false。怎么做?谢谢
【问题讨论】:
-
列表中的所有 0 项都是
"one"。这是vacuous truth。您似乎认为列表中的所有项目并非都是"one";我建议阅读空洞的事实,这样您就不会不必要地使您的逻辑复杂化,将空列表排除在真正应该被接受的情况下。 -
正如@user2357112 所指出的,这是一个简单的数学运算:对于
array的所有元素,您的命题都成立。
标签: python