我问这个是因为我知道检查列表是否为空的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的三元运算符的新手
>>> '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)
如果我错了,请求正确
谢谢赫马