例如,如果通过以下步骤:
a = []
如何检查a是否为空?
例如,如果通过以下步骤:
a = []
如何检查a是否为空?
当前回答
len()是Python列表、字符串、字典和集合的O(1)操作。Python在内部跟踪这些容器中的元素数量。
JavaScript具有类似的truthy/falsy概念。
其他回答
我们可以使用一个简单的if else:
item_list=[]
if len(item_list) == 0:
print("list is empty")
else:
print("list is not empty")
我更喜欢明确地说:
if len(li) == 0:
print('the list is empty')
通过这种方式,可以100%清楚地看出li是一个序列(列表),我们想测试它的大小。我的问题,如果不是李:。。。这给人一种错觉,认为li是一个布尔变量。
len()是Python列表、字符串、字典和集合的O(1)操作。Python在内部跟踪这些容器中的元素数量。
JavaScript具有类似的truthy/falsy概念。
print('not empty' if a else 'empty')
更实用一点:
a.pop() if a else None
最短版本:
if a: a.pop()
def list_test (L):
if L is None : print('list is None')
elif not L : print('list is empty')
else: print('list has %d elements' % len(L))
list_test(None)
list_test([])
list_test([1,2,3])
有时单独测试无和空是很好的,因为这是两种不同的状态。上述代码产生以下输出:
list is None
list is empty
list has 3 elements
虽然没有一件事是假的,但这毫无价值。所以,如果你不想单独测试“无”,你不必这么做。
def list_test2 (L):
if not L : print('list is empty')
else: print('list has %d elements' % len(L))
list_test2(None)
list_test2([])
list_test2([1,2,3])
预期产量
list is empty
list is empty
list has 3 elements