如何判断Python中由列表组成的嵌套列表是否完全为空?
实现方案
直接使用Python内置的all()函数即可一行实现该判断逻辑,核心代码如下:
all(not sublist for sublist in target_list)
效果验证
针对你给出的示例测试效果如下:
a = [[], [], []] b = [[], [2], []] print(all(not sub for sub in a)) # 输出 True,判定a为空 print(all(not sub for sub in b)) # 输出 False,判定b不为空
逻辑说明
- 空列表在Python中的布尔值默认为
False,not 空列表会返回True,not 非空列表会返回False all()函数会遍历传入的可迭代对象,只有所有元素的计算结果都为True时才返回True,遍历过程中只要遇到一个False就会提前终止返回结果,运行效率较高
边界场景补充
如果你的判断逻辑要求外层列表本身不能是空列表,也就是[]不算符合要求的空嵌套列表,可以调整判断逻辑为:
len(target_list) > 0 and all(not sublist for sublist in target_list)
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

