用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版权协议,转载请附上原文出处链接和本声明。