如何检查列表是否为空?

3226 投票
27 回答
4861827 浏览
提问于 2025-04-11 09:16

比如,如果传入以下内容:

a = []

我怎么检查一下 a 是否为空呢?

27 个回答

1109

我更喜欢这样写:

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

这样一来,li 是一个序列(列表),我们想要检查它的大小,这一点就非常清楚了。我对 if not li: ... 的问题是,它给人一种错误的印象,仿佛 li 是一个布尔变量。

1506

用Python的标准方式来做这件事,可以参考一下PEP 8风格指南

对于序列(比如字符串、列表和元组),可以利用空序列被认为是假的这个特点:

# Correct:
if not seq:
if seq:

# Wrong:
if len(seq):
if not len(seq):
7148
if not a:
    print("List is empty")

使用空的 list 的隐式布尔值特性是非常符合Python风格的做法。

撰写回答