在Python中使用all()方法的详细指南(附实例)

394 阅读2分钟

Python all

Python all() 是一个内置函数,当给定的迭代对象中的所有项目都是真的时候,返回True,否则,返回False。如果迭代对象是空的,all()函数也返回True。

all()方法返回:

  1. True- 如果一个迭代器中的所有元素都是真的
  2. False- 如果遍历对象中的任何元素是假的

语法

参见以下语法:

all(iterable)

参数

all()方法只需要一个参数,一个可迭代的 参数是一个对象,可以是列表元组,或字典

返回值

all()方法返回:

  1. True- 如果一个迭代器中的所有项目都是True
  2. 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!

本教程就到此为止。