Python 中使用sorted、json对字典排序的方法

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)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值