Python sorted函数用法【针对字典键值】

用python处理数据时,经常需要根据字典的键值进行排序。简单记录下sorted 函数的键值排序用法。

1.操作对象

一个list,其中的元素均为字典

a = {'ID': 2, 'score': 70}
b = {'ID': 3, 'score': 90}
c = {'ID': 1, 'score': 80}

data = [a, b, c]	# [{'ID': 2, 'score': 70}, {'ID': 3, 'score': 90}, {'ID': 1, 'score': 80}]

2.键值排序

# 1.针对‘score’
data_sorted = sorted(data, key=lambda dict_data: dict_data['score'], reverse=False)	# 由小到大
data_reversed_sorted = sorted(data, key=lambda dict_data: dict_data['score'], reverse=True)	# 由大到小
# 排序结果:
data_sorted:[{'ID': 2, 'score': 70}, {'ID': 1, 'score': 80}, {'ID': 3, 'score': 90}]
data_reversed_sorted:[{'ID': 3, 'score': 90}, {'ID': 1, 'score': 80}, {'ID': 2, 'score': 70}]
# 2.针对‘ID’
data_sorted = sorted(data, key=lambda dict_data: dict_data['ID'], reverse=False)
data_reversed_sorted = sorted(data, key=lambda dict_data: dict_data['ID'], reverse=True)
# 排序结果
data_sorted:[{'ID': 1, 'score': 80}, {'ID': 2, 'score': 70}, {'ID': 3, 'score': 90}]
data_reversed_sorted:[{'ID': 3, 'score': 90}, {'ID': 2, 'score': 70}, {'ID': 1, 'score': 80}]

版权声明:本文为Hren0412原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。