如何在 Python 中对字典进行排序?!
字典是一种由键值对组成的数据结构。我们可以使用两个标准对字典进行排序-
按键排序-字典按其键的升序排序。不考虑值。
按值排序-字典按值的升序排序。
方法1-按键对字典进行排序
在这种方法中,字典按其键的升序排序。
输入:
{2:90, 1: 100, 8: 3, 5: 67, 3: 5}
输出:
{1:100, 2:90, 3:5, 5:67, 8:3}
如上所示,我们可以看到字典是根据其键进行排序的。
例子
dic={2:90, 1: 100, 8: 3, 5: 67, 3: 5} dic2={} for i in sorted(dic): dic2[i]=dic[i] print(dic2)
输出
{1: 100, 2: 90, 3: 5, 5: 67, 8: 3}
代码行明智的解释
声明一个要排序的字典
声明一个空字典,其中要添加排序的键值对
sorted(dic)已排序的所有dic键order.It只有键而不是键值对。sorted(dic)将有[1,2,3,5,8]
对于按排序顺序的每个键,将键和对应的值添加到dic2中。
dic2具有按键排序的所有键值对
方法2-按值对字典进行排序
在这种方法中,字典按值的升序排序。
输入:
{2:90, 1: 100, 8: 3, 5: 67, 3: 5}
输出:
{8:3, 3:5 ,5:67 , 2:90, 1:100}
如上所示,我们可以看到字典是根据其值进行排序的。
我们一起使用sorted()和items()方法按值对字典进行排序。
该items()用于检索字典的项目或值。
key=lambdax:x[1]是一种使用lambda函数的排序机制。
这为我们提供了键值对,然后使用将ehich转换为字典dict()。
例子
dic={2:90, 1: 100, 8: 3, 5: 67, 3: 5} dic2=dict(sorted(dic.items(),key= lambda x:x[1])) print(dic2)
输出
{8: 3, 3: 5, 5: 67, 2: 90, 1: 100}