gpt4 book ai didi

python - 为什么 [] == False 在 python 中评估为 False 而 0 == False 评估为 True?

转载 作者:行者123 更新时间:2023-11-28 17:02:34 27 4
gpt4 key购买 nike

<分区>

我是 Python 的新手,不理解以下行为:

为什么要声明

[] == False 

评估为假,即使空列表是假的?

这里有更多的例子——在许多其他情况下,空列表似乎确实以错误的方式表现,只是不在 [] == False...

>>> 0 == False                # what I'd expect
True
>>> not [] # what I'd expect
True
>>> bool([]) # what I'd expect
False
>>> [] == True # what I'd expect
False
>>> [] == False # unexpected
False
>>> bool([]) == False # why does it evaluate to True again now?
True
>>> ([]) == (bool([])) # unexpected
False
>>> (not []) == (not bool([]) # apparently adding 'not' makes it behave as expected again - why?
True


有人可以向我解释一下吗?这些陈述在内部是如何评估的?
我觉得它可能与链接比较 ( see e.g. here ) 有关,但无法真正理解这是否正确以及为什么。

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