python之排序函数(sort/sorted)

本文介绍了Python中的sort和sorted函数,包括它们的用法、参数解析及不同之处。sort函数用于原地排序列表,不返回值;sorted函数则返回一个新的排序列表,不改变原对象。在Python3中,两者都取消了cmp参数。内容覆盖了对整数、字符串、元组、字典和字符串的排序操作,以及如何实现不区分大小写的排序。
摘要由CSDN通过智能技术生成

sort函数用法
Python2.x:list.sort(cmp=None, key=None, reverse=False)
Python3.x:list.sort(key=None, reverse=False)
特点:对list原地排序(直接改变数组),无返回值,永久性性.python3取消了cmp参数。
参数:

cmp——可选参数, 可用于自定义排序规则。
key ——主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse——升序or降序,reverse = True 降序, reverse = False 升序(默认)。

sorted函数用法
python2.x:sorted(iterable, cmp=None, key=None, reverse=False) )
python3.x:sorted(iterable, key=None, reverse=False) )
特点:可以对所有可迭代的对象进行排序操作。返回的是一个新的 list,不修改原来的对象。
参数:
iterable – 可迭代对象。
cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
python3.x取消了cmp可选参数
注意!!
1.sort无返回值,改变原来列表的值;
2.sorted不改变原来列表的值,返回新的列表
3.针对元组/字典/字符串只能使用sorted函数,不能使用sort;
4.sorted对字典/字符串操作返回一个list
***
实际应用
2.列表list
2.1 list为整数,reverse=True时为升序
#注意,元素均为数据

x = [4, 6, 2, 1, 7, 9]
y = [4, 6, 2, 1, 7, 9]
x.sort()
print(x)
x.sort(reverse=True)
print(x)
yy=sorted(y)
yyy=sorted(y,reverse=True)
print(y)
print(yy)
print(yyy
#输出,x序列已变更,但是y序列未变更,生成新的序列yy
[1, 2, 4, 6, 7, 9]
[9, 7, 6, 4, 2, 1]
[4, 6, 2, 1, 7, 9]
[1, 2, 4, 6, 7, 9]
[9, 7, 6, 4, 2, 1]

2.2 list为字符串
#注意:元素均为字符串,按照ASCII字符顺序

x.sort(key=lambda x:x[2],reverse=True)
print(x)
yy=sorted(y,key=lambda x:x[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值