Python基础9--排序

Python基础9 排序

list可通过内置sort()函数排序

a = [5, 2, 3, 1, 4]
a.sort()

其他容器或迭代器可通过sorted()排序

sorted([5, 2, 3, 1, 4])
sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})

待排序数据

student_tuples = [
    ('john', 'A', 15),
    ('jane', 'B', 12),
    ('dave', 'B', 10),
]
student_objects = [
    Student('john', 'A', 15),
    Student('jane', 'B', 12),
    Student('dave', 'B', 10),
]

key参数(通过函数指定用于容器排序的key)

sorted(student_tuples, key=lambda student: student[2]) 

key参数(通过operator模块指定用于容器排序的key)

sorted(student_tuples, key=itemgetter(2))
sorted(student_objects, key=attrgetter('age'))

reverse参数(正序逆序)

sorted(student_tuples, key=itemgetter(2), reverse=True)

cmp参数(不推荐使用)

def reversed_cmp(x, y):
    if x > y:
        return -1
    if x < y:
        return 1
    return 0

sorted([36, 5, 12, 9, 21], reversed_cmp)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值