Python中排序函数sorted的用法

本文详细介绍了Python内置函数sorted在对一维列表、元组、集合、二维列表(包括字典和字典items())、以及字典排序时的用法,包括基本排序、lambda函数、多关键字排序和使用itemgetter模块的示例。

Python中排序函数sorted的用法

列表对象提供了sort()方法支持原地排序,而内置函数sorted()返回新列表,并不对原列表进行任何修改。
sorted()方法可以对列表、元组、字典、range对象等进行排序。
列表的sort()方法和内置函数sorted()都支持key参数实现复杂排序要求。
下面讲解排序函数sorted的用法,该函数可以对列表、元组、字典、集合排序,返回一个列表。

1. 一维列表(元组或集合)排序

(1) 一维列表排序

# 一维列表(元组或集合)排序
list1 = [12, 5, 3, 20, 17, 25, 10, 30]
a = sorted(list1)  # 默认升序排序,返回列表
print(a)
b = sorted(list1, reverse=True)  # 降序排序
print(b)
set1 = {
   
   12, 5, 3, 20, 17, 25, 10, 30}
c = sorted(set1)  # 返回的都是列表
print(c)
[3, 5, 10, 12, 17, 20, 25, 30]
[30, 25, 20, 17, 12, 10, 5, 3]
[3, 5, 10, 12, 17, 20, 25, 30]

(2) lambda函数

lambda函数是匿名函数,即不需要函数名,格式为 lambda 参数列表:表达式,表达式表示函数要执行的操作。
对于非常简单的函数,或排序时的参数key,通常使用匿名函数实现。
例如:求解a+b,普通函数和匿名函数的写法。

def add(a, b):  # 普通函数
    return a+b
print(add(2,3))
add = lambda a, b: a + b   # 匿名函数
print(add(2,3))
5
5

(3) 把所有奇数都放到前面,偶数都放到后面

# 一维整数列表,把所有奇数都放到前面,偶数都放到后面
list1 = [19, 32, 76, 82, 23, 63, 38, 50, 20, 30, 39, 14, 19, 50, 81, 27, 77, 12, 55, 29]
a = sorted(list1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趣学算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值