温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python any()和all()函数怎么用

发布时间:2022-01-26 09:25:53 来源:亿速云 阅读:95 作者:iii 栏目:开发技术

本篇内容主要讲解“Python any()和all()函数怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python any()和all()函数怎么用”吧!

Python 中的布尔数据类型

在我们进入any()和all()之前,让我们快速回顾一下 Python 中的布尔数据类型。您可以调用bool()方法来获取任何 Python 对象的真值。您可以在您喜欢的 IDE 中运行下面的代码示例。

# truth value of None is False
print(bool(None))
# Output
False

# truth value of an empty string ("") is False
print(bool(""))
# Output
False

# truth value of an empty list (or any iterable) is False
print(bool([]))
# Output
False

# truth value of 0 {int (0), float (0.0) and complex (0j)} is False
print(bool(0))
# Output
False

如上面的片段所示,

  • None有一个真值False,

  • 数字 zero( 0) – 整数、浮点数和复数表示0并且都有一个真值False,

  • 所有空的可迭代对象(如列表、元组和字符串)的真值为False。

也就是说,所有非零值和非空可迭代对象的真值都是相当直观的True。

如何在 Python 中使用 any() 函数

让我们了解any()函数的语法,看一些简单的例子,然后再看更有用的例子。

语法:any(iterable)

  • 返回True ,只要该可迭代对象中至少有一项是 就返回True。

  • 如果可迭代对象为空,则返回False。

因此,该any()函数将一个可迭代对象作为参数,并且True只要该可迭代对象中至少有一项是 就返回True。

下面是几个简单的例子来验证any()函数是如何工作的:

list_1 = [0,0,0,1,0,0,0,0]
# any(a list with at least one non-zero entry) returns True
print(any(list_1))
# Output
True

list_2 = [0j,0,0,0.0,0,0,0.0,0]
# any(a list of zeros) returns False
print(any(list_2))
# Output
False

list_3 = [True, False, False]
# any(a list with at least one True value) returns True
print(any(list_3))
# Output
True

list_4 = ["","","code more"]
# any(a list with at least one non-empty string) returns True
print(any(list_4))
# Output
True

list_5 = ["","",""]
# any(a list of empty strings) returns False
print(any(list_5))
# Output
False

如何使用 Python 的 any() 函数检查字符串中的数字

现在让我们使用该any()函数来检查字符串中是否有任何数字。让我们把步骤写下来。

  • 检查:字符串中是否有任何数字?

  • 遍历字符串以访问字符串中的每个字符。

  • 通过调用isdigit()它的方法检查每个字符是否是数字。

  • 如果被测字符是一个数字,isdigit()返回True,否则返回False。

列表推导式对于在列表中收集所有这些真值非常有帮助。这是一个快速回顾:

 # List Comprehension

 [output_expression for every_item in an_iterable]
     |
     |
     V
    result of doing something on each item in the iterable
    
 # In essence, Loop through the iterable, do something on each item and
 return the result of the operation.

如下面的代码片段所示,我们的示例字符串coding**is**cool**345包含数字。

因此,any()在字符串上调用函数应该返回True. 我们使用列表理解来根据字符是否为数字来获取True和False值的列表。

my_string = "coding**is**cool**345"
are_there_digits = [char.isdigit() for char in my_string]
print(any(are_there_digits))

# Output
True

请注意are_there_digits列表的项数与字符串的长度一样多。

对于字符串中的每个字符,都有一个对应的真值——如果字符是数字对应True,如果字符不是数字对应False,如下所示。

print(are_there_digits)

# Output
[False, False, False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, True, True, True]

如何使用 Python 的 any() 函数检查字符串中的字母

让我们再举一个类似的例子。这一次,让我们检查字符串中字母的出现。

被测试的字符串***456278)))不包含字母——按预期调用any()返回False。对于字符串中的每个字符,调用该isalpha()方法检查它是否是一个字母。

my_string = "***456278)))"
num = [char.isalpha() for char in my_string]
print(any(num))

# Output
False

这is_letter是一个False值列表,如下所示:

print(is_letter)

# Output
[False, False, False, False, False, False, False, False, False, False, False, False]

如何使用 Python 的 any() 函数将多个条件与逻辑或组合在一起

假设您决定提高工作效率并写下下面显示的列表。然而,你选择不苛求自己,并决定只要清单中的一项发生,你就可以拥有很多糖果![

Python any()和all()函数怎么用

请注意我们如何考虑多个条件,但即使其中一个评估为 ,也会选择糖果True。

这与if您需要检查逻辑or运算符链接的多个条件是否计算为 的语句非常相似True吗?是的,它是这样的,并且该any()功能在这样做时可以派上用场。

假设您N有条件c1, c2, c3, ..., cN。考虑下面的伪代码:

if c1 or c2 or ... c_(N-1) or CN:
	# DO THIS

else:
	# DO THIS

您现在可以将所有这些条件收集在一个可迭代对象中,例如列表或元组,然后调用any()该可迭代对象来检查一个或多个条件是否True为 ,如下所示。这不简单吗?

conditions = [c1,c2,..., c_N]

if any(conditions):
	# DO THIS
else:
	# DO THIS

如何在 Python 中使用 all() 函数

让我们从all()函数的语法开始。

语法:all(iterable)

  • 返回True如果bool(x)是True所有值x的迭代器。

  • True如果可迭代对象为空,则返回。

该all()函数将一个可迭代对象作为参数,True仅当可迭代对象中的所有项计算结果为True或可迭代对象为空时才返回。在所有其他情况下,all()函数返回False。

如何使用 Python 的 all() 函数检查字符串中的字母

让我们以类似的例子来检查字符串的某些特征。

除了字母之外,测试字符串还coding**is**cool包含特殊字符*。因此,当我们使用该all()函数检查字符串中的所有字符是否都是字母时,我们应该得到False.

my_string = "coding**is**cool"
are_all_letters = [char.isalpha() for char in my_string]
print(all(are_all_letters))
# Output
False

print(are_all_letters)
# Output
[True, True, True, True, True, True, False, False, True, True, False, False,
True, True, True, True]

注意列表如何在字符串中出现的所有位置are_all_letters都有False值*。

如何使用 Python 的 all() 函数检查字符串中的数字

现在让我们使用该all()函数检查字符串中的所有字符是否都是数字。测试字符串56456278仅包含数字,因此,调用all()应该返回,True因为列表推导式为我们提供了一个True值列表。

my_string = "56456278"
are_all_digits = [char.isdigit() for char in my_string]
print(all(are_all_digits))
# Output
True

print(are_all_digits)
# Output
[True, True, True, True, True, True, True, True]

如何使用 Python 的 all() 函数用逻辑 AND 组合多个条件

让我们考虑以下示例。这一次,您要争夺 iPad,而且条件更加严格。您必须完成列表中的所有任务才能从您的堂兄那里获得 iPad。

Python any()和all()函数怎么用

现在,这与使用if语句检查由逻辑and运算符链接的多个条件是否评估为 非常相似True,如下所示:

if c1 and c2 and ... c_(N-1) and CN:
	# DO THIS

else:
	# DO THIS

您可以使用该all()函数通过收集可迭代中的条件,然后在可迭代中调用该all()函数来使这一切更加简洁。

conditions = [c1,c2,..., c_N]

if all(conditions):
	# DO THIS
else:
	# DO THIS

到此,相信大家对“Python any()和all()函数怎么用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI