擅长:python、mysql、java
<p>如果我正确地理解了这个问题,您想检查字典值是否为<em>所有</em><code>compulsory</code>元素都有一个值?在</p>
<p>当然还有一种更优雅的方法可以做到这一点:您可以使用列表理解:</p>
<pre><code>e = {}
[key for key in a if <b>all(d.get(key,e).get(c) for c in compulsory)</b>]</code></pre>
<p><code>all(d.get(key,e).get(c) for c in compulsory)</code>在这里非常重要,因为它是一个<em>过滤条件</em>。因此,<code>all(..)</code>将开始在<code>compulsory</code>列表上枚举,对于每个元素<code>c</code>,它将获取该元素并查看其是否为<code>True</code>。空字符串的truthiness为<code>False</code>,因此这不起作用。如果键不在字典中,那么<code>.get(c)</code>将返回<code>None</code>,它的真实性也是<code>False</code>。在</p>