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

a = []

如何检查a是否为空?


当前回答

我们可以使用一个简单的if else:

item_list=[]
if len(item_list) == 0:
    print("list is empty")
else:
    print("list is not empty")

其他回答

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

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

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

非常方便和有用。

Pythonic的做法来自PEP8风格指南。

对于序列(字符串、列表、元组),请使用空序列为false的事实:#正确:如果不是seq:如果seq:#错误:如果len(seq):如果不是len(seq):

要检查列表是否为空,可以使用以下两种方法。但请记住,我们应该避免显式检查序列类型的方式(这是一种不太像Python的方式):

def enquiry(list1):
    return len(list1) == 0

# ––––––––––––––––––––––––––––––––

list1 = []

if enquiry(list1):
    print("The list isn't empty")
else:
    print("The list is Empty")

# Result: "The list is Empty".

第二种方式是一种更具Python风格的方式。这种方法是一种隐式检查方法,比前一种方法更可取。

def enquiry(list1):
    return not list1

# ––––––––––––––––––––––––––––––––

list1 = []

if enquiry(list1):
    print("The list is Empty")
else:
    print("The list isn't empty")

# Result: "The list is Empty"

以下是检查列表是否为空的几种方法:

a = [] #the list

1) 非常简单的蟒蛇方式:

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

在Python中,空容器(如列表、元组、集合、字典、变量等)被视为False。可以简单地将列表视为谓词(返回布尔值)。True值表示它为非空。

2) 一种非常明确的方法:使用len()查找长度并检查它是否等于0:

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

3) 或者将其与匿名空列表进行比较:

if a == []:
    print("a is empty")

4) 另一种愚蠢的方法是使用exception和iter():

try:
    next(iter(a))
    # list has elements
except StopIteration:
    print("Error: a is empty")
if not a:
    print("List is empty")

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