例如,如果通过以下步骤:
a = []
如何检查a是否为空?
例如,如果通过以下步骤:
a = []
如何检查a是否为空?
当前回答
只需使用is_empty()或生成如下函数:-
def is_empty(any_structure):
if any_structure:
print('Structure is not empty.')
return True
else:
print('Structure is empty.')
return False
它可以用于任何数据结构,如列表、元组、字典等等。通过这些,您可以使用is_empty(any_structure)多次调用它。
其他回答
来自真实值测试的文档:
此处列出的值以外的所有值均视为True
没有一个错误任何数字类型的零,例如0、0.0、0j。任何空序列,例如“”、()、[]。任何空映射,例如{}。如果类定义了__bool_()或__len__()方法,则该方法返回整数零或布尔值False。
可以看出,空列表[]是错误的,因此对布尔值执行操作听起来最有效:
if not a:
print('"a" is empty!')
if not a:
print("List is empty")
使用空列表的隐含布尔性是相当Python的。
方法1(首选):
if not a:
print ("Empty")
方法2:
if len(a) == 0:
print("Empty")
方法3:
if a == []:
print ("Empty")
简单的方法是检查长度是否等于零。
if len(a) == 0:
print("a is empty")
我更喜欢明确地说:
if len(li) == 0:
print('the list is empty')
通过这种方式,可以100%清楚地看出li是一个序列(列表),我们想测试它的大小。我的问题,如果不是李:。。。这给人一种错觉,认为li是一个布尔变量。