zoukankan      html  css  js  c++  java
  • Python可迭代序列排序总结

    列表排序

    示例:lst = [12, 6, 1, 3, 10]

    方法一:使用sort

    def list_sort(lst):
        lst.sort()	# 就地排序,没有返回值
        return lst
    

    补充:list.sort(key=None, reverse=False)可以指定排序规则和是否降序

    注意sort只适用于列表,其内部采用的排序算法是Timsort,一种结合归并排序和插入排序的算法

    方法二:使用sorted

    def list_sort(lst):
        return sorted(lst)
    

    补充:sorted(iterable, key, reverse)也可以指定排序规则和是否降序

    注意sorted使用于所有可迭代对象,是新建一个对象,原对象不变


    ### 字典排序

    按key排序


    ##### 方法一:使用sorted和lambda
    def dict_sort_by_key(dic):
        return dict(sorted(dic.items(), key=lambda x: x[0]))
    

    ##### 方法二:使用sorted字典推导式
    def dict_sort_by_key(dic):
        return {key:dic[key] for key in sorted(dic)}
    

    #### 按value排序
    方法一:使用sorted和lambda
    def dict_sort_by_value(dic):
        return dict(sorted(dic.items(), key=lambda x: x[1]))
    

    ##### 方法二:使用sorted字典推导式
    def dict_sort_by_value(dic):
        # 使用字典的get方法的返回值作为排序规则
        return {key:dic[key] for key in sorted(dic, key=dic.get)}
    
  • 相关阅读:
    事件处理
    模板语法
    计算属性和侦听器
    Class 与 Style绑定
    Springboot使用redis
    修改docker-toolbox/boot2docker容器镜像
    docker容器如何安装vim
    Maven+Docker,发布到Registry
    Maven + Docker
    Jenkins-SVN + Maven + Docker
  • 原文地址:https://www.cnblogs.com/zzliu/p/10964413.html
Copyright © 2011-2022 走看看