python sorted对列表和字典排序

本文深入讲解Python中sorted函数的使用技巧,包括如何利用key参数进行自定义排序,以及使用operator模块的itemgetter函数提高排序效率。通过实例演示了对列表和字典的排序操作,适合Python初学者和进阶者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sorted函数参数:

sorted(data, key=None, reverse=False)

        其中,data是待排序数据,可以是List或者iterator, cmp和key都是函数,这两个函数作用于data的元素上产生一个结果,sorted方法根据这个结果来排序。 
        key 是带一个参数的函数, 用来为每个元素提取比较值. 默认为 None, 即直接比较每个元素. 
        reverse=True则是倒序,reverse=false时则是顺序,默认时reverse=False

#列表排序例子
example = [('张三', 'A', 85), ('李四', 'c', 60), ('王五', 'B', 95)]#姓名、级别、分数

#用key排序
sorted(example, key=lambda x : x[1])   # 按级别排序 
#out:[('张三', 'A', 85), ('王五', 'B', 95), ('李四', 'c', 60)]

sorted(example, key=lambda x : x[2])   # 按分数排序  
#Out: [('李四', 'c', 60), ('张三', 'A', 85), ('王五', 'B', 95)]

#用 operator 函数来加快速度
from operator import itemgetter
sorted(example, key=itemgetter(2))
#Out: [('李四', 'c', 60), ('张三', 'A', 85), ('王五', 'B', 95)]

#用 operator 函数进行多级排序 
sorted(example, key=itemgetter(1,2))#先按分数再按级别
#Out: [('张三', 'A', 85), ('王五', 'B', 95), ('李四', 'c', 60)]

#字典排序例子
d={'A':85,'C':60,'B':95}

#对key值排序
sorted(d.keys())
#Out: ['A', 'B', 'C']

#按value值对字典排序
sorted(d.items(),key=lambda x:x[1])#
#Out: [('C', 60), ('A', 85), ('B', 95)]

#按key值对字典排序
sorted(d.items(),key=lambda x:x[0])
#Out:[('A', 85), ('B', 95), ('C', 60)]

如果对你有帮助,请点下赞,予人玫瑰手有余香!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值