Python编程:字典排序sorted问题

思路:字典转为包含元组的列表排序

代码示例


dct = {
	"百度": 30,
	"阿里": 20,
	"腾讯": 25
}
print(dct)
# {'百度': 30, '阿里': 20, '腾讯': 25}


# 从小到大排序
dct_sorted = sorted(dct.items(), key=lambda item: item[1])
print(dct_sorted)
# [('阿里', 20), ('腾讯', 25), ('百度', 30)]


# 从大到小排序
dct_sorted_reverse = sorted(dct.items(), key=lambda item: item[1], reverse=True)
print(dct_sorted_reverse)
# [('百度', 30), ('腾讯', 25), ('阿里', 20)]

上面的代码使用lambda 表达式,还可以使用operator模块提供的方式

# -*- coding: utf-8 -*-

import operator

dct = {
    "百度": 30,
    "阿里": 20,
    "腾讯": 25
}

sorted_dict = sorted(dct.items(), key=operator.itemgetter(1))
print(sorted_dict)
# [('阿里', 20), ('腾讯', 25), ('百度', 30)]

你可能感兴趣的:(python)