列表排序

示例: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)}

Python可迭代序列排序总结的更多相关文章

  1. Python实现各种排序算法的代码示例总结

    Python实现各种排序算法的代码示例总结 作者:Donald Knuth 字体:[增加 减小] 类型:转载 时间:2015-12-11我要评论 这篇文章主要介绍了Python实现各种排序算法的代码示 ...

  2. Python的列表排序

    Python的列表排序 本文为转载,源地址为:http://blog.csdn.net/horin153/article/details/7076321 在 Python 中, 当需要对一个 list ...

  3. Python复杂多重排序

    1. cmp函数是python自带的函数,用于比较两个参数哪个大哪个小 print cmp(2, 3) # -1 如果第一个参数比第二个小,就返回-1,两个元素相等,返回0,否则返回1 2.所以就可以 ...

  4. 飘逸的python - 多条件排序及itemgetter的应用

    曾经客户端的同事用as写一大堆代码来排序,在得知python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣. 之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按净胜球,再相 ...

  5. Python 冒泡法排序

    def sequence(disorder='', separators=''): arrays = disorder.split(separators) def desc(): for i in r ...

  6. Python实现常用排序算法

    Python实现常用排序算法 冒泡排序 思路: 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完 ...

  7. 深入Python(1): 字典排序 关于sort()、reversed()、sorted()

    http://www.cnblogs.com/BeginMan/p/3193081.html 一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠 ...

  8. python的常见排序

    在python程序中,我们往往自始至终都在与序列(列表.字典.元组)打交道,而最常用的操作就是对序列排序了.在此简单总结一下python中的排序. 基本排序方法 在python中,list对象具有 s ...

  9. python中字典排序,列表中的字典排序

    python中字典排序,列表中的字典排序 一.使用python模块:operator import operator #首先要导入模块operator x = {1:2, 3:4, 4:3, 2:1, ...

随机推荐

  1. jenkins配置邮件通知

    参考: https://www.cnblogs.com/imyalost/p/8781759.html 谢谢大佬~

  2. C# 泛基

    1 你有时候希望在父类规定一些行为,让子类无法修改,但是这些实现是依赖一个子类才能获取的值,你又不可能知道所有的子类 ,没办法替它在父类里面初始化,这时候就需要在父类里面定义一个每个子类一个的,但又是 ...

  3. [LUOGU] 1108 低价购买

    统计本质不同的\(LIS\)个数. 因为本题要求的是\(N^2\)级别的算法,就直接暴力统计\(LIS\)的个数了 然后统计方案数的话加入发现有之间有一个值,以它为结尾的\(LIS\)长度和当前的相等 ...

  4. Vim 基本操作

    Vim 基本操作 vim的模式 命令模式 2. 编辑模式 3. 尾行模式 编辑 i : 插入 光标所在位置 a : 插入 光标所在位置的下一个位置 o : 插入 光标所在位置的下一行插入新行 O : ...

  5. 02. 爬取get请求的页面数据

    目录 02. 爬取get请求的页面数据 一.urllib库 二.由易到难的爬虫程序: 02. 爬取get请求的页面数据 一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用 ...

  6. 选择客栈(codevs 1135)

    题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均 ...

  7. HBase行键的设计

    rowkey是行的主键,而且hbase只能用rowkey范围即scan来查找数据.rowkey是以字典排序的.可以巧妙设计行键,比如想通过电影的评价进行排序,可以把评分rate和电影id组合起来,ra ...

  8. 网络流入门 Drainage Ditches

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) ...

  9. [poj3070]Fibonacci_矩乘_快速幂

    Fibonacci poj-3070 题目大意:求Fibonacci第n项. 注释:模数为10000,$1\le n \le 10^9$. 想法:矩阵题,用例题6的想法,我们构造矩阵 $\begin{ ...

  10. [MongoDB]Python 操作 MongoDB

    from pymongo import MongoClient mc = MongoClient('localhost',27017) db = mc.users db.users.save({'na ...