gpt4 book ai didi

python - 关于 all() 和 any() 函数的混淆

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:35 24 4
gpt4 key购买 nike

我正在学习 python,在理解 all()any() 函数时遇到一些困惑:

1 in [0,2]             #False. Correct.
all([0,1]) in [0,2] #True. Why? 1 is not in [0,2]
any([0,1]) in [0,2] #False. Why? 0 is in [0,2]

最佳答案

您误解了表达式的计算方式。首先,请注意 0是假的,1是真实的。 all([0,1])False因为并非所有元素都是真实的。 any([0,1])True因为有些元素是真实的。然后你找False的成员(member)和 True[0, 2] .当取为数字时,True值为 1False值为 0 .因此,False in [0, 2]评估为 True因为False == 0True , 所以 False[0, 2] 中被“发现” .同理,True没有找到,所以你得到 False对于第二个表达式。

通常,allany不直接用于列表;将它们与生成器一起使用是很常见的。例如,

any(x in [0, 2] for x in [0, 1]) # "is any of [0, 1] in [0, 2]?"
all(x in [0, 2] for x in [0, 1]) # "is all of [0, 1] in [0, 2]?"

关于python - 关于 all() 和 any() 函数的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54785362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com