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)
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐