sorted(dic,value,reverse)
dic为比较函数,value 为排序的对象(这里指键或键值),
reverse:注明升序还是降序,True–降序,False–升序(默认
my_dict = {'lilee':25, 'age':24, 'phone':12}
print(sorted(my_dict.keys()))
d = {'lilee':25, 'wangyan':21, 'liqun':32, 'age':99}
# 顺序 从小到大
dNew = sorted(d.items(), key=lambda item:item[1])
print(dNew)
# 倒序 从大到小
dNew = sorted(d.items(), key=lambda item:item[1], reverse=True)
print(dNew)
print(dict(dNew))
高级
from operator import itemgetter
rows = [
{'fname': 'vivo', 'uid': 103},
{'fname': 'huaw', 'uid': 102},
{'fname': 'xiaomi', 'uid': 101},
{'fname': 'Big', 'uid': 104}
]
print("按fname升序")
rows_by_fname = sorted(rows, key=itemgetter('fname'))
print(rows_by_fname)
print("按uid升序")
rows_by_uid = sorted(rows, key=itemgetter('uid'))
print(rows_by_uid)
print("最小的uid")
print(min(rows, key=itemgetter('uid')))
print("最大的uid")
print(max(rows, key=itemgetter('uid')))
打印结果
按fname升序
[{‘fname’: ‘Big’, ‘uid’: 104}, {‘fname’: ‘huaw’, ‘uid’: 102}, {‘fname’: ‘vivo’, ‘uid’: 103}, {‘fname’: ‘xiaomi’, ‘uid’: 101}]
按uid升序
[{‘fname’: ‘xiaomi’, ‘uid’: 101}, {‘fname’: ‘huaw’, ‘uid’: 102}, {‘fname’: ‘vivo’, ‘uid’: 103}, {‘fname’: ‘Big’, ‘uid’: 104}]
最小的uid
{‘fname’: ‘xiaomi’, ‘uid’: 101}
最大的uid
{‘fname’: ‘Big’, ‘uid’: 104}
使用json输出排序
my_dict = {'lilee':25, 'age':24, 'phone':12}
# 使用json排序
my_dict_json = json.dumps(my_dict, sort_keys=True)
print(my_dict_json)
# json字符串还原为Python字典
my_dict_new = json.loads(my_dict_json)
print(my_dict_new)