python中sorted和sort函数详解

python中sort函数与sorted函数详解

一、sort函数

1.1含义和基本形式

含义:sort函数是属于列表中的一种方法。列表使用sort()方法是对调用它的列表进行操作,会修改原列表的值。

基本形式:l.sort()(l是一种列表)

1.2相关用法

1.原址排序

列表可以进行原址排序,而元组是不可修改的,不支持原址排序。

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

#x=[1,2,3,4,5,6]
2.副本排序
1)[:]分片方法
x=[4,3,5,6,2,1]
y=x[ : ]
y.sort()

#x=[4,3,5,6,2,1]
#y=[1,2,3,4,5,6]

通过分片的方法可以将x中的元素全部拷给y,再通过y的原址排序

2)sorted()方法——这个是sorted函数的一种用法

sorted返回一个有序的副本,并且类型总是列表

x=[4,3,5,6,2,1]
y=sorted(x)

#x=[4,3,5,6,2,1]
#y=[1,2,3,4,5,6]
3.高级排序
1)自定义cmp
def comp(x, y):
if x < y:
return 1
elif x > y:
return -1
else:
return 0
  
nums = [3, 2, 8 ,0 , 1]
nums.sort(comp)
#nums=[8, 3, 2, 1, 0]
nums.sort(cmp) # 调用内建函数cmp ,升序排序
#nums=[0, 1, 2, 3, 8]


二、sorted函数

2.1含义和基本形式

含义:sorted函数 可以对所有可迭代的对象进行排序操作,其返回的是一个新的列表类型,而不是在原来的基础上进行的操作。(这点与sort方法差别很大)

基本形式:sorted(iterable,cmp,key,reverse) 

其中iterable表示要排序的list或者iterable;

cmp表示排序时进行比较的函数,可以指定一个函数或者lambda函数;(cmp默认是升序排序)

key表示指定取待排序元素的哪一项进行排序;

reverse表示是否逆转排序;

例如:这是关键字对字典类型进行降序排序

dict={'a':97,'b':98}
list=[]
list=sorted(dict.item(),key=lambda d:d[0],reverse=True)
2.2相关用法
1.列表的sorted用法
l=[1,2,5,7,3]
list=sorted(l)

返回的是一个新的列表


2.自定义key以及reverse应用

例如:给定txt文件,分析文章字符出现次数源码

这里的stat是一种字典类型。stat.items()返回stat的元素视图,即iterable部分。返回结果如([('a',1),('b',2)])

key用的是lambda函数。这里的lambda返回的是stat中的第二个域,即上面的1,2部分。对字典中的values进行排序。此时是按从小到大的顺序进行排序,需要用reverse进行反转,按照从大到小的顺序排序。

stat=sorted(stat.items(),key=lambda d:d[1],reverse=True)


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值