python字典按照key排序,按照指定的value字段排序

python中的字典非常常用,它本身是无序的,但有时我们需要对字典排序,下面记录一下分别按照key排序和按照值排序
sorted中 reverse = True 表示倒序

情况一:只有一个value

dic={"a":1,"b":3,"c":5,"d":2}
#按照键排序
sorted(dic.items(),key=lambda d:d[0])
[('a', 1), ('b', 3), ('c', 5), ('d', 2)]
#按照值排序
sorted(dic.items(),key=lambda d:d[1])
[('a', 1), ('d', 2), ('b', 3), ('c', 5)]

b = {1:7,2:4,5:6}
sorted(b.items(),key = lambda x :x[1],reverse = True)
[(1, 7), (5, 6), (2, 4)]

其中d[0]表示键,d[1]表示value

情况二:多重嵌套字典排序,排序为升序排序,结果为一个嵌套元组构成的列表

dic={"a":{"a1":3,"a2":7},"b":{"a1":1,"a2":8},"c":{"a1":5,"a2":9}}
sorted(dic.items(),key=lambda d:d[1]["a1"])
[('b', {'a2': 8, 'a1': 1}), ('a', {'a2': 7, 'a1': 3}), ('c', {'a2': 9, 'a1': 5})]
sorted(dic.items(),key=lambda d:d[1]["a2"])
[('a', {'a2': 7, 'a1': 3}), ('b', {'a2': 8, 'a1': 1}), ('c', {'a2': 9, 'a1': 5})]


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值