理解Python的any和all函数
Python的any和all函数是分析可迭代元素真实性的必备工具。
任意如果可迭代中的任何元素为 True(不是 False、None、0、''),则函数
any(iterable) 返回 True。如果所有元素都为 False,则返回 False。它的行为类似于逻辑 OR 运算。
all Function
all(iterable) 如果可迭代中的所有元素都为 True,则返回 True。如果有一个元素为 False,则返回 False。它类似于逻辑 AND 运算。
元组的应用
在您的特定情况下,您有一个元组列表:
d['Drd2'] = [[1, 5, 0], [1, 6, 0]]
您压缩这些元组以创建相应的元组列表元素:
list(zip(*d['Drd2'])) = [(1, 1), (5, 6), (0, 0)]
对于每个元组,您使用表达式:
any(x) and not all(x)
这将检查元组中是否至少有一个值不同(使用任何值),而并非所有值都不同值是相同的(并非全部使用)。但是,在您的示例中,每个元组中的所有对应值都是相同的,因此所有元组的表达式计算结果为 False,从而导致 [False, False, False]。
更正预期输出
要检查每个元组中的两个数字是否不相同,您需要使用表达式:
x[0] != x[1]
直接比较元组中的两个数字,如果不同则返回 True。将此表达式与列表理解结合使用将为您提供 [False, True, False] 的预期输出,其中 (1, 1) 相同,(5, 6) 不同,(0, 0) 相同。
以上是Python 的'any”和'all”函数如何帮助确定可迭代元素中的差异?的详细内容。更多信息请关注PHP中文网其他相关文章!