gpt4 book ai didi

python - 为什么 [] 和 bool 返回 []?

转载 作者:太空狗 更新时间:2023-10-30 02:15:08 24 4
gpt4 key购买 nike

<分区>

我试图在这样的函数中返回一个 bool 值:

return mylist and any(condition(x) for x in mylist)

如果列表为空或列表中的任何元素满足条件,则行为应返回 True。我将第一个操作数用作短路,因为如果列表为空,any 将返回 True,这不是我想要的。

我希望 [] 和 boolval 返回 False 因为列表是空的,但令我惊讶的是它返回 [] 是否 boolvalTrueFalse。我希望第一个操作数自动评估为 bool 值,因为它涉及比较操作,而不是发生的任何事情。

我并不是真的在问如何解决我的问题,这很容易通过显式类型转换来完成:bool(mylist),而是在问发生了什么以及为什么。

编辑:当我问“为什么”会发生这种情况时,我不仅在寻找“事实”,因为它们已经在链接的重复问题中进行了解释,而且还在寻找实现此行为背后的原因。

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