python中sorted()函数的用法及介绍

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

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

# 使用abs这个函数(求绝对值)作为sorted的key关键字参数使用
res3 = sorted(arr,key=abs) #以绝对值的大小去进行排序
print(res1,res2,res3)

输出结果:

[-9, 1, 3, 7, 10, 20]
[20, 10, 7, 3, 1, -9]
[1, 3, 7, -9, 10, 20]
# 使用自定义函数
def func(num):
    print(num,num % 2)
    return num % 2
    
arr = [3,2,4,6,5,7,9]

# 在sorted函数中使用自定义函数对数据进行处理
res = sorted(arr,key=func)
print(res)

## 优化版
arr = [3,2,4,6,5,7,9]
res = sorted(arr,key=lambda x:x%2)
print(res)

输出结果:

3 1
2 0
4 0
6 0
5 1
7 1
9 1
[2, 4, 6, 3, 5, 7, 9]
[2, 4, 6, 3, 5, 7, 9]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值