Python中使用sorted函数可以对字典的key或value进行排序。下面就来详细讲解一下如何使用sorted函数对字典进行排序。
字典排序方法
按key排序
字典的sorted排序方法默认按照字典的key进行排序,用法如下:
dict = {'a': 2, 'd': 1, 'c': 3}
print(sorted(dict.items()))
结果为:
[('a', 2), ('c', 3), ('d', 1)]
按value排序
如果想按照字典的value排序,则需要通过传递一个lambda函数来进行比较操作,用法如下:
dict = {'a': 2, 'd': 1, 'c': 3}
print(sorted(dict.items(), key=lambda x: x[1]))
这里的lambda函数中的x表示字典每一个元素,x[1]表示对字典值进行排序。结果为:
[('d', 1), ('a', 2), ('c', 3)]
倒序排序
如果需要倒序排序,可以通过传递reverse = True参数实现,用法如下:
dict = {'a': 2, 'd': 1, 'c': 3}
print(sorted(dict.items(), key=lambda x: x[1], reverse=True))
结果为:
[('c', 3), ('a', 2), ('d', 1)]
示例说明
示例一:按value进行排序
下面以一个实际的应用场景来说明如何使用sorted函数对字典进行排序。假设我们有一个小型购物网站,其中有一份销售清单字典,我们需要按照售出数量从多到少对商品进行排名。
sales_dict = {
'iphone': 100,
'ipad': 200,
'macbook': 50,
'apple_watch': 150
}
sales_ranking = sorted(sales_dict.items(), key=lambda x: x[1], reverse=True)
print(sales_ranking)
结果为:
[('ipad', 200), ('apple_watch', 150), ('iphone', 100), ('macbook', 50)]
示例二:按key进行排序
下面以一个实际的应用场景来说明按照字典的key进行排序。假设我们有一个字典存储了几本书籍的信息,需要按照书名字母顺序进行排序。
books_dict = {
'Python 基础教程': '35',
'Python 爬虫实战': '25',
'计算机视觉Python': '50',
'Python Web开发从入门到精通': '30'
}
books_list = sorted(books_dict.items(), key=lambda x: x[0])
print(books_list)
结果为:
[('Python Web开发从入门到精通', '30'), ('Python 基础教程', '35'), ('Python 爬虫实战', '25'), ('计算机视觉Python', '50')]
至此,您已经掌握了如何使用Python的sorted函数来对字典的key或value进行排序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用sorted对字典的key或value排序 - Python技术站