例如,如果通过以下步骤:
a = []
如何检查a是否为空?
例如,如果通过以下步骤:
a = []
如何检查a是否为空?
当前回答
if not a:
print("List is empty")
使用空列表的隐含布尔性是相当Python的。
其他回答
以下是检查列表是否为空的几种方法:
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")
您甚至可以尝试像这样使用bool()。虽然它的可读性较低,但它确实是一种简洁的方法。
a = [1,2,3];
print bool(a); # it will return True
a = [];
print bool(a); # it will return False
我喜欢这种方式,因为检查列表是否为空。
非常方便和有用。
方法1(首选):
if not a:
print ("Empty")
方法2:
if len(a) == 0:
print("Empty")
方法3:
if a == []:
print ("Empty")
如果要检查列表是否为空:
l = []
if l:
# do your stuff.
如果要检查列表中的所有值是否为空。然而,空列表将为True:
l = ["", False, 0, '', [], {}, ()]
if all(bool(x) for x in l):
# do your stuff.
如果要同时使用这两种情况:
def empty_list(lst):
if len(lst) == 0:
return False
else:
return all(bool(x) for x in l)
现在您可以使用:
if empty_list(lst):
# do your stuff.
简单的方法是检查长度是否等于零。
if len(a) == 0:
print("a is empty")