协慌网

登录 贡献 社区

如何检查列表是否为空?

例如,如果传递以下内容:

a = []

如何检查a是否为空?

答案

if not a:
  print("List is empty")

使用空列表的隐式布尔值是非常 pythonic。

pythonic 的方法是从PEP 8 样式指南 (其中Yes表示 “推荐”, No表示 “不推荐”):

对于序列,(字符串,列表,元组),请使用空序列为假的事实。

<b>Yes:</b> if not seq:
     if seq:

<b>No:</b>  if len(seq):
     if not len(seq):

我明确地喜欢它:

if len(li) == 0:
    print('the list is empty')

这样,100%清楚li是一个序列(列表),我们想测试它的大小。 if not li: ...我的问题是if not li: ...它给人的错误印象是li是一个布尔变量。