擅长:python、mysql、java
<p>这里有一个没有<code>try</code><code>except</code>的干净方法</p>
<pre><code>d={'lala': {'temp1': 'c', 'comp_b': 'bc', 'temp': 'b', 'comp_a': 'ac'}, 'lala1': {'temp1': 'c1', 'comp_b': 'bc1', 'temp': 'b1', 'comp_a': ''}}
compulsory= ['comp_b','comp_a']
ok_keys = [k for k,v in d.iteritems() if all([c in v and v[c]!='' for c in compulsory])]
ok_keys #< prints ['lala']
</code></pre>
<p>所有的逻辑都发生在列表理解中,它首先遍历<code>d</code>中的键,并测试所有强制键都在<code>d[k]</code>内,<code>d[k][c]</code>值不是空的。在</p>