廖雪峰python教程学习:sorted小结

sorted小结

廖雪峰老师的python教程

我们常用类似于冒泡排序快速排序等进行数字上的排序,在python中,我们可以用sorted函数对字符串与字典中的内容进行比较。

sorted([36, 5, -12, 9, -21])
#排序后[-21, -12, 5, 9, 36]

此外,sorted函数可以通过设置key的形式限定排序方式,例如:

sorted([36, 5, -12, 9, -21], key=abs)
#排序后[5, 9, -12, -21, 36]

这样限定列表以绝对值形式排序。

对于字符串,默认的顺序是ascii码从小到大的排序,通过限制key可完成无视大小写等操作,进行反向排序,需要介入第三个参数reverse = True

sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower, reverse=True)
#忽略大小写的反向排序['Zoo', 'Credit', 'bob', 'about']

对于字典格式,选择排序方法可以在key中设置字典中的索引类型。

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
#根据名字排序
def by_name(t):
    return t[0]
L1 = sorted(L, key=by_name)
#[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]

#根据成绩从高到底
def by_score(t):
    return -t[1]
L2 = sorted(L,key=by_score)
#[('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]

使用sorted函数,可以减少排序算法的思维复杂,减少了反复造轮子的复杂性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值