Python中的all()函數是一個內置函數,它用于判斷一個迭代器中的所有元素是否都為True。
def all(iterable): for element in iterable: if not element: return False return True
all()函數的參數是一個迭代器、列表、元組、字典等可迭代對象,函數會依次對每個元素進行判斷,如果元素是False、空字符串、0、空列表、空字典、None等等,則返回False,否則返回True。
# 判斷列表中的元素是否全為True lst = [1, 2, 3, 4, 5] print(all(lst)) # True lst = [1, 2, 0, 4, 5] print(all(lst)) # False # 判斷字符串中的字符是否全為True s = "hello world" print(all(s)) # True s = "python3.8" print(all(s)) # True s = "0python3.8" print(all(s)) # False # 判斷字典中的值是否全為True dic = {"a": 1, "b": 2, "c": 3} print(all(dic.values())) # True dic = {"a": 1, "b": 0, "c": 3} print(all(dic.values())) # False
使用all()函數有助于簡化代碼,比如在判斷列表、字典等多個元素是否存在的時候,可以使用all()函數代替逐一判斷每個元素。
lst = [1, 2, 3, 4, 5] if all(x in lst for x in [2, 4, 6]): print("2, 4, 6都在列表中") else: print("2, 4, 6不全在列表中")
需要注意的是,在判斷空列表、空字典時,all()函數會返回True。
lst = [] dic = {} print(all(lst)) # True print(all(dic)) # True
總之,all()函數是Python中一個很實用的函數,它可以快速判斷一個迭代器、列表、元組、字典等可迭代對象的所有元素是否都為True,從而簡化代碼。