sorted 内置函数_排序:
sorted(iterable[,cmp=None,key=None,reverse=False]) 对可迭代对象进行排序,排序好后返回一个新列表。参数如下:
iterable:可以是:列表、集合、字典、元组、字符串、可迭代的对象...。
cmp:可以指定一个比较函数,这个函数接收两个参数,具体如下:
如果第一个参数 小于 第二个参数,返回一个负数,即第一个参数减第二个参数;
如果第一个参数 等于 第二个参数,返回零,即第一个参数减第二个参数;
如果第一个参数 大于 第二个参数,返回一个正数,即第一个参数减第二个参数。
key:可以指定一个函数来排序,函数接收一个参数,用于从列表中依次提取一个元素比较键。默认是None(直接比较元素)。
reverse:参数是布尔值。False表示升序排序,从小到大排序,也是默认值。True表示降序排序,从大到小排序。
例子1:按某个字母排序
d={
"zip":9,"name":15,"age":20,"money":100,"xiaoming":"小明"}
print(sorted(d,reverse=False,key=lambda x:x[2])) #根据每项的第3个字母来比较。
#注:26个字母的顺序是这样的: abcedfghijklmnopqrstuvwxyz
输出结果:
例子2:按出生日期排序
stuLists = [{
'stu_id': 1, 'birthday': '2022-02-10'},{
'stu_id': 2, 'birthday': '2021-02-20'}, {
'stu_id': 3, 'birthday': '2021-03-10'}]
sortedStuList = sorted(stuLists, key=lambda item: item['birthday'])
print(sortedStuList)
输出结果:
例子3:随机排序
import random
def fn(item):
return random.randint(-1,1)
aList=[5,4,8,95,1,100,10,2]
ab = sorted(aList, key=fn, reverse=True)
print(ab)
输出结果(每次都不一样):
--------------- 结束 ---------------
仅学习。