提问人:Seffih Oualid Redouan 提问时间:7/16/2022 更新时间:7/16/2022 访问量:316
为什么 bool([]) == False 而 [] == False 在 python 布尔逻辑中是 False 而不是 True
Why is bool([]) == False while [] == False is False and not True in python boolean logic
问:
我刚刚开始学习 Python,我正在尝试这个
[] == False #False
但:
bool([]) #False
从我得到的值中,例如 [],0 ..是假的,我到底错过了什么,谢谢!
答:
1赞
chepner
7/16/2022
#1
[] != False
但。bool([]) == bool(False)
1赞
Michael S.
7/16/2022
#2
运算符非常字面意思。如果您要比较的 2 个事物不完全相同(这包括类型,例如 ),那么结果将始终是 。因此,布尔值与空列表在字面上不是一回事,这就是为什么是 .==
"2" == 2
False
False
False
[]
[] == False
False
当转换为布尔值时,空列表仅被视为“False”,您使用 .所以 的输出与 是一样的。因此是.bool([])
bool([])
False
False
bool([]) == False
True
评论
1赞
Seffih Oualid Redouan
7/16/2022
这个清除了一切,谢谢!
上一个:真值表中的布尔表达式
下一个:布尔逻辑快让我发疯了
评论
1.2 == 1
int(1.2) is 1
False
None
==