理解Python的any和all函数
Python的any和all是内置函数,它们评估可迭代对象并根据他们的真实性elements.
any
any 如果迭代中至少有一个元素为 True(或数值非零),则返回 True。它评估可迭代对象,直到遇到 True 值或所有元素都已耗尽。
all
all 仅当可迭代对象中的所有元素均为 True 时才返回 True。如果 iterable 为空,则 all 返回 True。它会继续评估可迭代对象,直到遇到 False 值或检查了所有元素。
真实性
理解真实性对于理解任何和所有元素的工作方式至关重要。在 Python 中,如果值不为零、空字符串或 None(空),则将其视为 True。 Falsey 值包括 0、空容器和 False 本身。
您的代码
在您的代码中,您正在使用列表理解:
[any(x) and not all(x) for x in zip(*d['Drd2'])]
为了理解这个表达式,我们来打破它down:
为什么 False 是返回
您的代码返回 [False, False, False],因为它检查是否至少有一个值为 True,同时对于元组列表中的每个元组,并非所有值都为 True。由于 d['Drd2'] 中的元组具有相同的元素,因此每个元组的 all(x) 都为 True,而不是 all(x) 为 False。因此,对于每个元组,整体表达式变为 any(x) 并且并非 all(x) 计算结果为 False。
以上是Python 的'any”和'all”函数在列表理解中如何工作,为什么会返回'[False, False, False]”?的详细内容。更多信息请关注PHP中文网其他相关文章!