python list排序详解

说明
对List进行排序,Python提供了两个方法: list.sort()sorted(list)

  1. sorted(list)返回一个对象,可以用作表达式。原来的list不变,生成一个新的排好序的list对象。
  2. list.sort() 不会返回对象,改变原有的list

用List的内建函数list.sort进行排序
sort(self, key=None, reverse=False)
reverse: True 倒叙排序

  1. 普通数组排序

    my_list = [1, 2, 5, 6, 3]
    my_list.sort()
    print(my_list)
    # [1, 2, 3, 5, 6]
    
  2. dict数组排序

    my_list = [{'key': 1}, {'key': 3}, {'key': 2}]
    my_list.sort(key=lambda x: x['key'], reverse=True)
    print(my_list)
    #[{'key': 3}, {'key': 2}, {'key': 1}]
    
  3. dict数组多关键字排序

    my_list2 = [{'a': 1, 'b': 5}, {'a': 3, 'b': 3}, {'a': 5, 'b': 1}]
    my_list2.sort(key=lambda x: (x['a'], x['b']), reverse=True)
    print(my_list2)
    #[{'b': 1, 'a': 5}, {'b': 3, 'a': 3}, {'b': 5, 'a': 1}]
    

用序列类型函数sorted(list)进行排序

  1. 普通数组排序

    my_list = [1, 2, 5, 6, 3]
    new_list = sorted(my_list)
    print(new_list)
    #[1, 2, 3, 5, 6]
    
  2. dict数组排序

    my_list = [{'key': 1}, {'key': 3}, {'key': 2}]
    new_list = sorted(my_list, key=lambda x: x['key'], reverse=True)
    print(new_list)
    # [{'key': 3}, {'key': 2}, {'key': 1}]
    
  3. dict数组多关键字排序

    my_list2 = [{'a': 1, 'b': 5}, {'a': 3, 'b': 3}, {'a': 5, 'b': 1}]
    new_list = sorted(my_list2, key=lambda x: (x['a'], x['b']), reverse=True)
    print(new_list)
    #[{'b': 1, 'a': 5}, {'b': 3, 'a': 3}, {'b': 5, 'a': 1}]
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值