高阶函数-sort()

sorted()
运行原理:
    把可迭代的数据里面的元素,一个一个的取出来,放到 key 这个函数中进行处理,
    并按照函数中 return 的结果进行排序,返回一个新的列表
功能: 排序
参数:
    iterable 可迭代的数据   (容器类型数据,range数据序列,迭代器)
    reverse  可选,是否反转,默认为 False ==不反转,True ==反转
    key      可选,函数,可以是自定义函数,也可以是内置函数
返回值:  排序后的结果
arr = [3,7,1,-9,20,10]

# 默认可以按照从小到大的方式进行排序
# res = sorted(arr)  # [-9, 1, 3, 7, 10, 20] 

# 可以按照从大到小的方式进行排序
# res = sorted(arr,reverse = True)   # [20, 10, 7, 3, 1, -9] 

# abs() 绝对值
# res = sorted(arr,key=abs)   # [1, 3, 7, -9, 10, 20]   按绝对值方式进行排序

# 使用自定义函数
# def func(num):
#     print(num ,num % 2)
#     # 3,2,4,6,5,7,9 ==> 排序后 2,4,6,3,5,7,9
#     # 1,0,0,0,1,1,1 ==> 排序后 0,0,0,1,1,1,1
#     return num % 2
# arr = [3,2,4,6,5,7,9]
# res = sorted(arr,key = func)  # [2, 4, 6, 3, 5, 7, 9] 

# 使用自定义函数(优化版)
arrr = [3,2,4,6,5,7,9]
res = sorted(arrr,key = lambda y:y % 2)   # [2, 4, 6, 3, 5, 7, 9] 

print(res,type(res))

你可能感兴趣的:(排序算法,算法)