Python all
Python all() 是一个内置函数,当给定的迭代对象中的所有项目都是真的时候,返回True,否则,返回False。如果迭代对象是空的,all()函数也返回True。
all()方法返回:
- True- 如果一个迭代器中的所有元素都是真的
- False- 如果遍历对象中的任何元素是假的
语法
参见以下语法:
all(iterable)
参数
all()方法只需要一个参数,一个可迭代的 参数是一个对象,可以是列表,元组,或字典。
返回值
all()方法返回:
- True- 如果一个迭代器中的所有项目都是True
- False- 如果一个迭代器中的任何项目是False
| 当 | 返回值 |
|---|---|
| 所有的值都是真 | 真 |
| 所有的值都是假的 | 假的 |
| 一个值为真(其他值为假) | 假的 |
| 一个值是假的(其他值是真的) | 假的 |
| 空Iterable | 真 |
Python List的all()函数
让我们测试一下Python List的all()函数:
# app.py
listB = ['Emilia Clarke', 'Millie Bobby Brown', 'Jennifer Aniston']
print(all(listB))
请看下面的输出:
➜ pyt python3 app.py
True
➜ pyt
让我们检查一下空迭代的情况:
# app.py
listB = []
print(all(listB))
请看输出:
➜ pyt python3 app.py
True
➜ pyt
让我们在列表内取假值并检查输出:
# app.py
listB = [0, False]
print(all(listB))
请看下面的输出:
➜ pyt python3 app.py
False
➜ pyt
让我们把其中一个值作为假值:
# app.py
listB = [21, 19, 18, 0]
print(all(listB))
请看输出结果:
➜ pyt python3 app.py
False
➜ pyt
Python字符串的all()函数
字符串在Python中也是迭代器。所以,让我们用all()函数进行测试:
# app.py
strB = 'MillieBobbyBrown'
print(all(strB))
请看输出结果:
➜ pyt python3 app.py
True
➜ pyt
看其他的例子:
# app.py
strC = '02119'
print(all(strC))
strD = ''
print(all(strD))
看输出结果:
➜ pyt python3 app.py
True
True
➜ pyt
Python字典的all()函数
在字典的情况下,如果所有的键 (而不是值) 都是True,或者字典是空的,all() 返回True。否则,对于所有其他情况,它返回 False 值。
请看下面的代码例子:
dictA = {0: 'False', 1: 'False'}
print(all(dictA))
dictB = {1: 'True', 21: 'True'}
print(all(dictB))
dictC = {1: 'True', False: 0}
print(all(dictC))
dictD = {}
print(all(dictD))
dictE = {'0': 'True'}
print(all(dictE))
好的,所以在上面的代码中,如果键是 0 或 False,那么输出将是 False。
Python 的 any() 和 all() 函数
函数any()和all(),都是在寻找允许它们停止评估的条件。
下面是any()和all()函数的Python实现:
def any(iterable):
for i in iterable:
if i:
return True
return False # for an empty iterable, any returns False!
def all(iterable):
for i in iterable:
if not i:
return False
return True # for an empty iterable, all returns True!
本教程就到此为止。