擅长:python、mysql、java
<p>如果您没有原始数据,您仍然可以使用<code>Counter</code>来实现这一点。</p>
<pre><code>OrderedDict([(i, str(round(count / sum(c.values()) * 100.0, 3)) + '%') for i, count in c.most_common()])
</code></pre>
<p>其中:</p>
<ul>
<li><code>i</code>是已计数的项</li>
<li><code>count</code>是该项的计数</li>
<li><code>c</code>是<code>Counter</code>对象</li>
<li><code>3</code>是百分比的精度</li>
</ul>
<p>如果将<code>sum(c.values())</code>移到列表压缩之外,则可以提高性能。</p>