擅长:python、mysql、java
<p>“Sort”函数使用数据的第一个元素。
要按字典的值对其进行排序,您可以使用for loop for value:</p>
<pre><code>d={1:1,2:2,5:2,4:3,3:2}
x=[]
for i in set(sorted(d.values())):
for j in sorted(d.items()):
if j[1]==i:
x.append(j)
print(x)
</code></pre>
<p>如果不将<code>sorted(d.values())</code>转换为<code>set{}</code>,它将检查每个值,即使有相同的数字。例如,如果您的值列表为<code>[1,2,2,3]</code>,它将检查值为“2”的项目两次,因此您的排序列表将包含重复的数据,这两个数据都有值“2”。但是<code>set{}</code>只保留每个元素中的一个,在这种情况下,for循环将检查<code>d.values()</code>的每个不同值。如果有具有相同值的项,代码将按键对它们进行排序,因为<code>sorted(d.items())</code>。
(为了更好地理解,您可以在不使用<code>set{}</code>的情况下使用此代码,并使用<code>d.items()</code>而不是<code>sorted(d.items())</code>)</p>