sorted()函数对所有可迭代的对象进行排序操作
--------------------------------sort 与sorted区别:-------------------------------------
sort是应用在list上的方法,sorted可以对所有可迭代的对象进行排序操作。
list的sort方法返回的是对已经存在的列表进行操作,无返回值,
而内建函数sorted方法返回的是一个新的list,而不是在原来的基础上进行的操作
-------------------------------------------------------------------------------------------------------
语法:
sorted(iterable[, cmp[, key[,reverse]]])
参数说明:
iterable:可迭代对象
cmp--比较的函数,这个具有两个参数,参数的值都是从可迭代对象中去除,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于返回0
key---主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自可迭代对象中,指定可迭代对象中的一个元素进行【奥西。
reverse--排序规则,reverse = Ture降序,revers =False升序(默认)
返回值
重新排序的列表
实例
#保留原列表 >>> 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] #利用cmp函数 >>>L = [("b",2),("a",1),("c",3),("d",4)] >>>sorted(L, cmp= lambda x,y :cmp (x[1],y[1]) [("a",1),("b",2),("c",3),("d",4)] #利用key >>>sorted(L, key = lambda x:x[1]) [("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)]