擅长:python、mysql、java
<p>这有点复杂,但你确实要求一种“Python式的方式”;)</p>
<pre><code>newD = {k:round(v) for k, v in d.items()}
</code></pre>
<p>然而,这本词典的理解只适用于2.7+。如果使用较旧版本的Python,请尝试以下更复杂的方法:</p>
<pre><code>newD = dict(zip(d.keys(), [round(v) for v in d.values()]))
</code></pre>
<p>让我把这个打开一点:</p>
<ul>
<li>我们首先根据请求将新dictionary(<code>d</code>)对象重新分配给新dictionary(尽管您可以轻松地将其分配给同一个名称)</li>
<li>外部<code>dict()</code>确保最终结果是dictionary对象</li>
<li><code>zip()</code>返回元组列表,其中第i个元组包含来自每个参数序列的第i个元素</li>
<li>给<code>zip()</code>的第一个参数序列是字典键(<code>d.keys()</code>)</li>
<li>给<code>zip()</code>的第二个参数序列是列表理解后的舍入值</li>
<li>list comprehension对字典值中的每个值进行舍入,并返回舍入值的列表</li>
</ul>