列表里面有字典[{},{},{},{}],按着字典的指定的key所对应的value值得大小排序

工作中遇到这样的一组数据:

"""
[{'id_user': '227130', 'username': 'qianzn@bokecc.com', 'register_time': '2017-01-18', 'live_count': 373,'user_id': '9DC1A878A164F696'},
{'id_user': '214046', 'username': 'zhangxu@bokecc.com', 'register_time': '2012-10-11','live_count': 0, 'user_id': '40A3AB3E559329B3'}, 
{'id_user': '227166', 'username': '15110215580','register_time': '2017-03-23', 'live_count': 2427, 'user_id': '41E8063FC799ACE5'}, 
{'id_user': '227168', 'username': None, 'register_time': 'None', 'live_count': 0, 'user_id': '150D957324E49257'}, 
{'id_user': '227174', 'username': '17710746002', 'register_time': '2017-03-31', 'live_count': 0, 'user_id': '40A53587B37573BD'}, 
{'id_user': '214045', 'username': 'toveping@163.com', 'register_time': '2012-10-11', 'live_count': 0, 'user_id': 'C783F0F7CB77E1F3'}, 
{'id_user': '227185', 'username': '18900000000', 'register_time': '2017-05-19', 'live_count': 0, 'user_id': '644190BB11BE539D'}, 
{'id_user': '227187', 'username': None, 'register_time': 'None', 'live_count': 0, 'user_id': '7876D9731CCB2B73'},
{'id_user': '227189', 'username': '18710055270', 'register_time': '2017-06-06', 'live_count': 0, 'user_id': '8993D9DE8AD22234'},
{'id_user': '227193', 'username': '13111111111', 'register_time': '2017-06-27', 'live_count': 0, 'user_id': 'C81CE7FF0A869F3A'},
{'id_user': '227196', 'username': '18699305617', 'register_time': '2017-07-26', 'live_count': 0, 'user_id': 'DBF655332633F3BC'}, 
{'id_user': '227198', 'username': '15011466350', 'register_time': '2017-08-18', 'live_count': 352, 'user_id': '78BE7906F3EBC8C6'}, 
{'id_user': '227200', 'username': '13001491079', 'register_time': '2017-08-28', 'live_count': 0, 'user_id': 'AEC25DBE9B40FF92'}, 
{'id_user': '227186', 'username': '18911965912', 'register_time': '2017-05-24', 'live_count': 0, 'user_id': '043686389A14BB38'},
{'id_user': '214067', 'username': 'hanrs@bokecc.com.cn', 'register_time': '2012-10-12', 'live_count': 0, 'user_id': 'E76AEADD0B4B9F95'}, 
{'id_user': '227201', 'username': '13632757927', 'register_time': '2017-09-08', 'live_count': 121, 'user_id': '2894DD440C848B55'},
{'id_user': '227204', 'username': '18612334036', 'register_time': '2017-09-19', 'live_count': 59, 'user_id': '212267F4CC5C3A90'}, 
{'id_user': '227205', 'username': '15525925190', 'register_time': '2017-09-20', 'live_count': 27, 'user_id': '0E52C951AC7773EB'},
{'id_user': '227206', 'username': '18801049565', 'register_time': '2017-09-20', 'live_count': 867, 'user_id': '097CEEE251EC2608'}, 
{'id_user': '214047', 'username': '7@cc.com.cn', 'register_time': '2012-10-11', 'live_count': 0, 'user_id': 'CC443A66867376BF'}, 
{'id_user': '214464', 'username': 'shangwu@uva.cc', 'register_time': '2011-12-11', 'live_count': 0, 'user_id': '1725A8A9604EAE30'}, 
{'id_user': '227194', 'username': '13222222222', 'register_time': '2017-07-12', 'live_count': 0, 'user_id': 'EFC8187ED0A61478'}, 
{'id_user': '227253', 'username': '15201173785', 'register_time': '2018-01-05', 'live_count': 354, 'user_id': '4200C5946BD5FD9C'},
{'id_user': '227252', 'username': '13581959582', 'register_time': '2018-01-05', 'live_count': 0, 'user_id': '52C8F5315B129E42'},
{'id_user': '227178', 'username': '18910685912', 'register_time': '2017-05-02', 'live_count': 0, 'user_id': '9777F7CD26A641A0'}, 
{'id_user': '227133', 'username': '13581959583', 'register_time': '2017-01-24', 'live_count': 0, 'user_id': '641DA20B068F3654'}]

"""

想按着字典的live_count的值排序,所以想到可以用快排:

def quick_sort(li, start, end, index):
    """ 快排"""
    if start >= end:
        return
    low = start
    hight = end
    mid = li[low][index]
    mid_all = li[low]
    while low < hight:
        while low < hight and li[hight][index] >= mid:  # >=
            hight -= 1
        li[low] = li[hight]
        while low < hight and li[low][index] < mid:   # <
            low += 1
        li[hight] = li[low]
    li[low] = mid_all
    quick_sort(li, start, low - 1, index)
    quick_sort(li, low+1, end, index)

if __name__ == '__main__':
    l = [{'register_time': '2017-01-18', 'user_id': '9DC1A878A164F696', 'live_count': 373, 'username': 'qianzn@bokecc.com', 'id_user': '227130'}, {'register_time': '2012-10-11', 'user_id': '40A3AB3E559329B3', 'live_count': 0,'sername': 'zhangxu@bokecc.com', 'id_user': '214046'}, {'register_time': '2017-03-23', 'user_id': '41E8063FC799ACE5', 'live_count': 2429, 'username': '15110215580', 'id_user': '227166'}, {'register_time': 'None', 'user_id': '150D957324E49257', 'live_count': 0, 'username': None, 'id_user': '227168'}, {'register_time': '2017-03-31', 'user_id': '40A53587B37573BD', 'live_count': 0, 'username': '17710746002', 'id_user': '227174'}, {'register_time': '2012-10-11', 'user_id': 'C783F0F7CB77E1F3', 'live_count': 3, 'username': 'toveping@163.com', 'id_user': '214045'}, {'register_time': '2017-05-19', 'user_id': '644190BB11BE539D', 'live_count': 0, 'username': '18900000000', 'id_user': '227185'}, {'register_time': 'None', 'user_id': '7876D9731CCB2B73', 'live_count': 0, 'username': None, 'id_user': '227187'}, {'register_time': '2017-06-06', 'user_id': '8993D9DE8AD22234', 'live_count': 0, 'username': '18710055270', 'id_user': '227189'}, {'register_time': '2017-06-27', 'user_id': 'C81CE7FF0A869F3A', 'live_count': 0, 'username': '13111111111', 'id_user': '227193'}, {'register_time': '2017-07-26', 'user_id': 'DBF655332633F3BC', 'live_count': 0, 'username': '18699305617', 'id_user': '227196'}, {'register_time': '2017-08-18', 'user_id': '78BE7906F3EBC8C6', 'live_count': 352, 'username': '15011466350', 'id_user': '227198'}, {'register_time': '2017-08-28', 'user_id': 'AEC25DBE9B40FF92', 'live_count': 0, 'username': '13001491079', 'id_user': '227200'}, {'register_time': '2017-05-24', 'user_id': '043686389A14BB38', 'live_count': 0, 'username': '18911965912', 'id_user': '227186'}, {'register_time': '2012-10-12', 'user_id': 'E76AEADD0B4B9F95', 'live_count': 0, 'username': 'hanrs@bokecc.com.cn', 'id_user': '214067'}, {'register_time': '2017-09-08', 'user_id': '2894DD440C848B55', 'live_count': 121, 'username': '13632757927', 'id_user': '227201'}, {'register_time': '2017-09-19', 'user_id': '212267F4CC5C3A90', 'live_count': 59, 'username': '18612334036', 'id_user': '227204'}, {'register_time': '2017-09-20', 'user_id': '0E52C951AC7773EB', 'live_count': 27, 'username': '15525925190', 'id_user': '227205'}, {'register_time': '2017-09-20', 'user_id': '097CEEE251EC2608', 'live_count': 867, 'username': '18801049565', 'id_user': '227206'}, {'register_time': '2012-10-11', 'user_id': 'CC443A66867376BF', 'live_count': 0, 'username': '7@cc.com.cn', 'id_user': '214047'}, {'register_time': '2011-12-11', 'user_id': '1725A8A9604EAE30', 'live_count': 0, 'username': 'shangwu@uva.cc', 'id_user': '214464'}, {'register_time': '2017-07-12', 'user_id': 'EFC8187ED0A61478', 'live_count': 0, 'username': '13222222222', 'id_user': '227194'}, {'register_time': '2018-01-05', 'user_id': '4200C5946BD5FD9C', 'live_count': 354, 'username': '15201173785', 'id_user': '227253'}, {'register_time': '2018-01-05', 'user_id': '52C8F5315B129E42', 'live_count': 0, 'username': '13581959582', 'id_user': '227252'}, {'register_time': '2017-05-02', 'user_id': '9777F7CD26A641A0', 'live_count': 0, 'username': '18910685912', 'id_user': '227178'}, {'register_time': '2017-01-24', 'user_id': '641DA20B068F3654', 'live_count': 0, 'username': '13581959583', 'id_user': '227133'}]

    quick_sort(l, 0, len(l)-1, "live_count")
    l.reverse()
    print(l)
    print(len(l))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值