如何在Python中对字典进行排序?

如何在Python中对字典进行排序?

字典是一种由键和值组成的数据结构。我们可以使用两个标准对字典进行排序 −

按键排序 − 按键在升序中排序字典。对值不予处理。

按值排序 − 按值的升序排列字典。

阅读更多: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所有升序的键序列。它只包含键而不是键值对。 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=lambda x: x [1]是使用lambda函数的排序机制。

  • 这给出了键值对,然后使用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}

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程