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)}
    
  • 相关阅读:
    My first blog!
    Elasticsearch安装 + Head插件安装 + Bigdesk插件安装
    泛型-反射-注解
    JFinal自定义FreeMarker标签
    Hadoop集群中节点角色定义
    HBase
    MapReduce
    HDFS
    Hadoop基本概念
    HTTP浅析
  • 原文地址:https://www.cnblogs.com/zzliu/p/10964413.html
Copyright © 2011-2022 走看看