if not

if not x 在python中的意思是如果x为空

a = []
if not a:
    print 1                 此代码会打印出1
a = [1,2,3]
if not a:
    print 1                 此代码不会打印出1 

使用if not x这种写法的前提是:必须清楚x等于None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()时对你的判断没有影响才行。

在python中 None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于False 。

因此在使用列表的时候,如果你想区分x==[]和x==None两种情况的话, 此时`if not x:`将会出现问题:

>>> x = []  
>>> y = None  
>>>   
>>> x is None  
False  
>>> y is None  
True  
原文地址:https://www.cnblogs.com/ymjyqsx/p/6548996.html