擅长:python、mysql、java
<p>如果要按值排序(每个元组中的第二项),请指定<code>key</code>:</p>
<pre><code>sorted(tuple_data, key=lambda x: x[1])
</code></pre>
<p>或与<a href="https://docs.python.org/3.8/library/operator.html#operator.itemgetter" rel="nofollow noreferrer">^{<cd2>}</a>一起:</p>
<pre><code>sorted(tuple_data, key=operator.itemgetter(1))
</code></pre>
<p>另请注意,您的计数代码:</p>
<pre><code>dict1 = {}
for number in data:
if number not in dict1:
dict1[number] = 1
else:
dict1[number] += 1
</code></pre>
<p>可以用<a href="https://docs.python.org/3.8/library/collections.html#collections.Counter" rel="nofollow noreferrer">^{<cd3>}</a>简化:</p>
<pre><code>dict1 = collections.Counter(data)
</code></pre>
<p>考虑到以上所有因素,您的代码<em>可能会</em>如下所示:</p>
<pre><code>from operator import itemgetter
from collections import Counter
def CountValues(data):
counts = Counter(data)
return sorted(counts.items(), key=itemgetter(1))
print(CountValues([1,2,3,1,2,3,5,5,4]))
# [(4, 1), (1, 2), (2, 2), (3, 2), (5, 2)]
</code></pre>