擅长:python、mysql、java
<p>仅访问一个属性:</p>
<pre><code>sum(item['one'] for item in tadas.values())
</code></pre>
<p>这利用了这样一个事实:<code>True</code>等于<code>1</code>,<code>False</code>等于<code>0</code>。你知道吗</p>
<p>如果不是每个项都包含键<code>'one'</code>,则应使用<code>.get</code>方法:</p>
<pre><code>sum(item.get('one', 0) for item in tadas.values())
</code></pre>
<p><code>.get</code>如果dict不包含第一个参数,则返回第二个参数。你知道吗</p>
<p>如果<code>'one'</code>也可以指向数字,您应该明确地测试<code>is True</code>:</p>
<pre><code>sum(item.get('one', 0) is True for item in tadas.values())
</code></pre>
<p>如果不想在布尔值中隐藏求和,可以更明确地使用:</p>
<pre><code>sum(1 if item.get('one', False) is True else 0 for item in tadas.values())
</code></pre>