相关疑难解决方法(0)

当"if not []"成功时,为什么"[] == False"评估为False?

我问这个是因为我知道检查列表是否为空的pythonic方法如下:

my_list = []
if not my_list:
    print "computer says no"
else:
    # my_list isn't empty
    print "computer says yes"
Run Code Online (Sandbox Code Playgroud)

将打印computer says no,等等,这使我认识[]False真值; 但是,如果我尝试直接比较[]和False,我会得到以下结果:

>>> my_list == False
False
>>> my_list is False
False
>>> [] == False
False
Run Code Online (Sandbox Code Playgroud)

等等...

这里发生了什么?我觉得我错过了一些非常明显的东西.

python

31
推荐指数
3
解决办法
4166
查看次数

空列表是否等于无?

可能重复:
当"if not []"成功时,为什么"[] == False"评估为False?

我是Python的三元运算符的新手

>>> 'true' if True else 'false'  true
   true
Run Code Online (Sandbox Code Playgroud)

我希望下面的代码输出为[],因为[]不等于None

>>> a=[]
>>> a==None
False
>>> a if a else None
None
Run Code Online (Sandbox Code Playgroud)

如果我错了,请求正确

谢谢赫马

python ironpython python-2.7 python-3.x

9
推荐指数
1
解决办法
3万
查看次数

标签 统计

python ×2

ironpython ×1

python-2.7 ×1

python-3.x ×1