Python sorted 函数

Python sorted 函数

  sorted 可以对所有可迭代的对象进行排序操作,sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。从新排序列表。

sorted 语法:

sorted(iterable[, cmp[, key[, reverse]]])

参数说明:

# 可迭代对象。
iterable   

# 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
cmp    

# 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
key 

# 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
reverse  

实例:

>>>a = [5,7,6,3,4,1,2]
>>> b = sorted(a)       # 保留原列表
>>> a
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]

>>> L=[(‘b‘,2),(‘a‘,1),(‘c‘,3),(‘d‘,4)]
>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))   # 利用cmp函数
[(‘a‘, 1), (‘b‘, 2), (‘c‘, 3), (‘d‘, 4)]
>>> sorted(L, key=lambda x:x[1])               # 利用key
[(‘a‘, 1), (‘b‘, 2), (‘c‘, 3), (‘d‘, 4)]

>>> students = [(‘john‘, ‘A‘, 15), (‘jane‘, ‘B‘, 12), (‘dave‘, ‘B‘, 10)]
>>> sorted(students, key=lambda s: s[2])            # 按年龄排序
[(‘dave‘, ‘B‘, 10), (‘jane‘, ‘B‘, 12), (‘john‘, ‘A‘, 15)]

>>> sorted(students, key=lambda s: s[2], reverse=True)       # 按降序
[(‘john‘, ‘A‘, 15), (‘jane‘, ‘B‘, 12), (‘dave‘, ‘B‘, 10)]
>>>

原文地址:https://www.cnblogs.com/xiangsikai/p/11063798.html

时间: 2024-10-11 03:24:32

Python sorted 函数的相关文章

Python sorted 函数用法

1.背景   在python中,通常需要使用排序函数.而对字典针对一个键值进行排序会经常使用到.记录sorted 函数的键值排序用法. 2.代码 data 一个list,list 中的元素由字典组成 dic { "label":True "seqence":“I love Python” "rate":0.5 "length": 13 } 如果需要对每个字典中的rate值进行从低到高排序,代码如下: datas = sorte

Python sorted函数排序

学生先按名称排序,在按成绩排序 from operator import itemgetterstudents=[('Bob',90),('David',99),('Dacheng',96),('Max',94)]sorted(students,key=itemgetter(0))sorted(students, key=lambda t: t[1])#sorted(students,key=itemgetter(1)) 关于itemgetter函数:operator.itemgetter函数获

python中sorted函数的理解(对list列表排序,对dict字典排序)

在python手册中: sorted(iterable[,cmp,[,key[,reverse=True]]]) 作用:Return a new sorted list from the items in iterable. 第一个参数是一个iterable,返回值是一个对iterable中元素进行排序后的列表(list). 可选的参数有三个,cmp.key和reverse. 1)cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个

python基础——sorted()函数

python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来. Python内置的sorted()函数就可以对list进行排序: >>> sorted([36, 5, -12, 9, -21]) [-21, -12, 5, 9, 36] 此外,sorted()函数也是一个

Python中的sorted函数以及operator.itemgetter函数

operator.itemgetter函数operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1,2,3] >>> b=operator.itemgetter(1)      //定义函数b,获取对象的第1个域的值>>> b(a) 2 >>> b=operator.itemgetter(1,0)  //定义函数b,获取对象的第1个域和第0个的值>&

Python中的sorted函数以及operator.itemgetter函数 【转载】

operator.itemgetter函数operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1,2,3] >>> b=operator.itemgetter(1)      //定义函数b,获取对象的第1个域的值>>> b(a) 2 >>> b=operator.itemgetter(1,0)  //定义函数b,获取对象的第1个域和第0个的值>&

Python中sort以及sorted函数初探

sorted(...) Help on built-in function sorted in module __builtin__: sorted(...) sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list sort(...) Help on built-in function sort: sort(...) L.sort(cmp=None, key=None, reverse=False) -- s

python中sort和sorted函数小结

因为作者本人也是刚学python不久,在看python官方文档的时候看到了 Lambda 函数,其中使用sort函数的地方看的有些迷惑,所以就查找了一些关于sort和sorted函数的资料,在此整理到博客 L.sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, key=None, reverse=False) 这样看,sorted函数只比sort函数多一个iterable参数,其余没什么不同,iterable是一个

Python排列函数:sort、sorted

排序函数介绍:sort()和sorted()都属于Python list的排序方法 区别:sort()属于永久性排列,直接改变该list : sorted属于暂时性排列,会产生一个新的序列. #sorted() >>> print sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] #sort() >>> L = [5, 2, 3, 1, 4] >>> L.sort() >>> print L [1, 2,