正确使用all()函数

use*_*234 2 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
Run Code Online (Sandbox Code Playgroud)

我预计结果将是上述所有例子的相反结果.

说,我想编写一个if语句来检查所有char是否是some_str是' - '.如果some_str包含全部' - ',则返回打印语句"all dashes"

some_str = '-------'
if all(some_str) is '-':
   print("all dashes")
elif all(some_str) is not '-':
   print("not all dashes")
Run Code Online (Sandbox Code Playgroud)

即使我在some_str中添加非" - ",上述示例的结果始终是"并非所有破折号"

我怎样才能使上述if和elif语句有效?

Ama*_*dan 5

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

>>> all(c=='-' for c in '-------')
True
>>> all(c=='-' for c in '------x')
False
Run Code Online (Sandbox Code Playgroud)

all(...)将永远是,TrueFalse从来"-",这就是为什么你的例子无法工作.