本篇文章起源于StackOverflow上一个热度非常高的问题: 我该如何判断一个Python列表是否为空? @Ray Vega (提问者) 举例说明,现在我得到了如下代码: a = [] 我如何该检查 a 是否为空? 面对这个问题,各路高手给出了不尽相同的回答. 最高票答案十分简洁: @Patrick (答题者) if not a: print("List is empty") 利用空列表的隐式布尔值是一个非常Pythonic的方式. 排名第二的答案与第一观点相同,并以PEP 8作为
代码中经常会有变量是否为None的判断,有三种主要的写法:第一种是`if x is None`:第二种是 `if not x:`:第三种是`if not x is None`(这句这样理解更清晰`if not (x is None)`) .如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑.先来看一下代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 >>> x = 1 >>> not x False >>> x = [1] &