例如,如果通过以下步骤:

a = []

如何检查a是否为空?


当前回答

您甚至可以尝试像这样使用bool()。虽然它的可读性较低,但它确实是一种简洁的方法。

    a = [1,2,3];
    print bool(a); # it will return True
    a = [];
    print bool(a); # it will return False

我喜欢这种方式,因为检查列表是否为空。

非常方便和有用。

其他回答

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

使用空列表的隐含布尔性是相当Python的。

len()是Python列表、字符串、字典和集合的O(1)操作。Python在内部跟踪这些容器中的元素数量。

JavaScript具有类似的truthy/falsy概念。

简单的方法是检查长度是否等于零。

if len(a) == 0:
    print("a is empty")

为什么要检查?

似乎没有人回答过你首先需要测试列表的问题。因为您没有提供额外的上下文,我可以想象,您可能不需要首先执行此检查,但不熟悉Python中的列表处理。

我认为,最Python的方法是根本不检查,而只是处理列表。这样,无论是空的还是满的,它都会做正确的事情。

a = []

for item in a:
    # <Do something with item>

# <The rest of code>

这有利于处理的任何内容,同时不需要对空性进行特定检查。如果a为空,则依赖块将不执行,解释器将进入下一行。

如果确实需要检查数组是否为空:

a = []

if not a:
    # <React to empty list>

# <The rest of code>

足够了。

您甚至可以尝试像这样使用bool()。虽然它的可读性较低,但它确实是一种简洁的方法。

    a = [1,2,3];
    print bool(a); # it will return True
    a = [];
    print bool(a); # it will return False

我喜欢这种方式,因为检查列表是否为空。

非常方便和有用。