2009-11-12 91 views
69

我正在使用的API可以返回空的[]列表。如何检查Python中的列表是否为空?

以下条件语句不按预期工作:

if myList is not None: #not working 
    pass 

if myList is not []: #not working 
    pass 

什么工作?

+2

使用'='而不是'被not'将做这项工作,虽然如果myList'形式是优选的'! – 2010-05-05 03:13:36

回答

138
if not myList: 
    print "Nothing here" 
13

空列表评估为False布尔环境(如if some_list:)。

9

我喜欢Zarembisty的回答。尽管如此,如果你想更明确的,你总是可以做:

if len(my_list) == 0: 
    print "my_list is empty" 
+26

你可以这样做,但它会违反pep 8,它说: - 对于序列(字符串,列表,元组),使用空序列为空的事实。 是:如果不是序列: 如果序列: 编号:如果len(SEQ) 如果不是LEN(SEQ) – 2009-11-12 22:16:14

+0

感谢您指出这一点对我来说,克里斯Lacasse。我不知道pep8,早些时候 – inspectorG4dget 2009-11-14 00:53:01

+0

这也是一个普遍的表现悲观:不要花时间计算潜在的长集合的元素,如果你只需要知道它是否是空的。 – 2015-08-12 12:38:01