欢迎访问宙启技术站
智能推送

Python中的all函数--判断可迭代对象中的所有元素是否满足条件

发布时间:2023-06-17 00:12:55

Python中的all函数是一个内置函数,主要用于判断可迭代对象中的所有元素是否满足指定条件。该函数返回一个布尔值,如果所有元素都满足条件,则返回True,否则返回False。

all函数的用法:

all(iterable)

其中,iterable表示一个可迭代对象,如列表、元组、字典中的键、集合等。

下面介绍一些具体的应用场景。

1. 判断列表中的所有元素是否都为True

lst = [True, True, False]
print(all(lst)) # False

lst = [True, True, True]
print(all(lst)) # True

2. 判断元组中所有元素是否都为0

tup = (0, 0, 0)
print(all(tup)) # False

tup = (1, 0, 2)
print(all(tup)) # False

tup = (2, -1, 5)
print(all(tup)) # True

3. 判断字典中的键是否都为True

dic = {'name':'Tom', 'age':'18', 'is_student': True}
print(all(dic)) # True

dic = {'name':'Tom', 'age':'18', 'is_student': False}
print(all(dic)) # False

4. 判断集合中所有元素是否都为偶数

set1 = {2, 4, 6, 8, 10}
print(all(i%2 == 0 for i in set1)) # True

set2 = {1, 2, 3, 4, 5}
print(all(i%2 == 0 for i in set2)) # False

5. 判断一个字符串中的所有字符是否都为小写字母

str1 = 'hello world'
print(all(i.islower() for i in str1)) # True

str2 = 'Hello, World'
print(all(i.islower() for i in str2)) # False

6. 判断一个列表中的所有元素是否满足某一条件

lst = [2, 4, 6, 8, 10]
print(all(i%2 == 0 for i in lst)) # True

lst = [2, 4, 7, 8, 10]
print(all(i%2 == 0 for i in lst)) # False

7. 判断一个字典中的所有键是否都满足某一条件

dic = {'name':'Tom', 'age':'18', 'is_student': True}
print(all(len(k) > 1 for k in dic)) # True

dic = {'n':'Tom', 'a':'18', 'is_student': True}
print(all(len(k) > 1 for k in dic)) # False

8. 判断一个列表中是否有元素为0

lst = [1, 2, 3, 0, 4, 5]
print(all(lst)) # False

print(any(lst)) # True

注意,all函数和any函数是相反的。any函数用于判断可迭代对象中是否有元素满足条件,只要有一个满足条件,就返回True,否则返回False。

在使用all函数时,需要注意以下几点:

1. 如果可迭代对象中有元素为0或False,则会返回False,因为0和False在Python中被视为False。

2. 如果可迭代对象为空,则all函数将返回True。

3. 如果可迭代对象中同时包含True和False,那么all函数将返回False。