Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:检查列表中的所有词典是否为空_Python - Fatal编程技术网

Python:检查列表中的所有词典是否为空

Python:检查列表中的所有词典是否为空,python,Python,我有一份字典清单。我需要检查一下列表中的字典是否都是空的。我正在寻找一个简单的声明,将在一行它 是否有一种单行方式来执行以下操作(不包括打印) 对python有些陌生。。。我不知道是否有一个速记内置的方法来检查这一点。提前谢谢 not any(d代表l中的d)等同于all(not d代表l中的d),但只应用一个not运算符。短路行为也是等效的 all(not d for d in l) 编辑1:内部genexp实际上(无害但)冗余:没有任何(l)更快更简洁 编辑2:一条评论声称all(不是l中

我有一份字典清单。我需要检查一下列表中的字典是否都是空的。我正在寻找一个简单的声明,将在一行它

是否有一种单行方式来执行以下操作(不包括打印)

对python有些陌生。。。我不知道是否有一个速记内置的方法来检查这一点。提前谢谢

not any(d代表l中的d)
等同于
all(not d代表l中的d)
,但只应用一个
not
运算符。短路行为也是等效的

all(not d for d in l)
编辑1:内部genexp实际上(无害但)冗余:
没有任何(l)
更快更简洁


编辑2:一条评论声称
all(不是l中的d代表d)
not any(l)
更能表达你的意思,我强烈反对:即使在自然语言中,“列表中的所有项目都未填充”也比“列表中的任何项目都未填充”更为正常、直接或清晰--除了逻辑定律的绝对逻辑等价之外,这两种表达方式在人类心理方面也是非常接近和大致等价的。

在这种情况下,没有任何(d代表d在l中)
可以缩短为仅仅
没有任何(l)

所有(len(d)==0代表d在l中)没有任何(l)
更快(可能还没有测量到)。@不知道,对——内部genexp是(无害但)冗余的,编辑指出它@jae,为什么“没有项目被填充”比“所有项目都未填充”更像是“你真正想要表达的”?它们在自然语言和思维模式上大致相同,在逻辑法则上也是相同的。@Alex Martelli:在Python中,我喜欢“not any(l)”与“all(l中不是d代表d)”的比较,但在英语中,“all is empty”是我首先写的,而不是“none is not empty”。“populated”和“unpopulated”有足够大的词来掩盖这种区别。
all(not d for d in l)