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)}
    
  • 相关阅读:
    vue 循环Redio
    vue 子组件修改父组件变量问题
    docker安装redis
    vue 复制内容到粘贴板
    vue 组件传值
    vscode 打开多个标签页
    asp.net 文件分片上传
    css之图片下方定位遮掩层
    Python发送邮件脚本
    git添加秘钥提示Key is already in use
  • 原文地址:https://www.cnblogs.com/zzliu/p/10964413.html
Copyright © 2011-2022 走看看