sdu项目实训5-1 python对多个字典按指定key值排序

今天在做后端接口的时候遇到一个问题,就是对多个字典按指定的key值排序

举个例子:

	r1 = {'num': 1, 'value': 12}
    r2 = {'num': 2, 'value': 3}
    r3 = {'num': 3, 'value': 35}
    r4 = {'num': 4, 'value': 67}
    r5 = {'num': 5, 'value': 11}
    r6 = {'num': 6, 'value': 17}
    r7 = {'num': 7, 'value': 6}
    r8 = {'num': 8, 'value': 88}
    r9 = {'num': 9, 'value': 19}
    r10 = {'num': 10, 'value': 21}

有这么10个字典,我们需要根据value值对它们排个序(升序 or 降序)
先把它们放入一个列表,然后对列表调用sort方法

代码如下:

import operator #要导入operator这个东西

r1 = {'num': 1, 'value': 12}
r2 = {'num': 2, 'value': 3}
r3 = {'num': 3, 'value': 35}
r4 = {'num': 4, 'value': 67}
r5 = {'num': 5, 'value': 11}
r6 = {'num': 6, 'value': 17}
r7 = {'num': 7, 'value': 6}
r8 = {'num': 8, 'value': 88}
r9 = {'num': 9, 'value': 19}
r10 = {'num': 10, 'value': 21}

t=[r1,r2,r3,r4,r5,r6,r7,r8,r9,r10]

t.sort(key=operator.itemgetter('value'), reverse = True)  # 默认为升序, reverse=True为降序

print(t)

输出结果如下:

[{'num': 8, 'value': 88}, {'num': 4, 'value': 67}, {'num': 3, 'value': 35}, {'num': 10, 'value': 21}, {'num': 9, 'value': 19}, {'num': 6, 'value': 17}, {'num': 1, 'value': 12}, {'num': 5, 'value': 11}, {'num': 7, 'value': 6}, {'num': 2, 'value': 3}]

python中sort方法应该是有很多的用法,非常的灵活。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值