正确使用all()函数

时间:2014-04-10 00:48:10

标签: python function python-3.x

你如何在python中使用all()函数?我从网站上阅读了这些文件,但我还不清楚它是如何使用的。

示例:

>>> a = '----'
>>> b = '--e'
>>> all(a) is '-'
False
>> all(b) is not '-'
True
>>> all(a) is not '-'
True
>>> all(b) is '-'
False

我预计上述所有例子的结果都是相反的结果。

说,我想编写一个if语句,检查所有char是否为some_str是' - '。返回打印语句"所有破折号'如果some_str包含所有' - '

some_str = '-------'
if all(some_str) is '-':
   print("all dashes")
elif all(some_str) is not '-':
   print("not all dashes")

以上示例的结果总是"并非所有破折号"即使我添加了非" - "进入some_str

如何使上述if和elif语句有效?

1 个答案:

答案 0 :(得分:5)

all需要一个可迭代的,所以我们给它一个:

>>> all(c=='-' for c in '-------')
True
>>> all(c=='-' for c in '------x')
False

all(...)将始终为TrueFalse,永远不会"-",这就是您的示例无效的原因。