python中sort函数与sorted函数的联系与区别

概要:本文主要介绍一下 python中sort函数与sorted函数的联系与区别

print("祝大家天天快乐!")

一、sort函数与sorted函数的联系:

两者都能够实现对列表的元素的排序要求,且都默认升序排序:

>>> list1=[4,3,1,9,8,5,6,2,7]
>>> list1.sort()
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2=[4,3,1,9,8,5,6,2,7]
>>> sorted(list2)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

二、sort函数与sorted函数的区别:

1、使用对象上的区别:

sort仅能应用于列表(list),而sorted能应用于所有可迭代的对象(返回结果为列表)。

>>> tuple1=(4,3,1,9,8,5,6,2,7)
>>> tuple1.sort()
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    tuple1.sort()
AttributeError: 'tuple' object has no attribute 'sort'
>>> sorted(tuple1)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

2、语法上的区别:

sort语法:list1.sort(cmp=None,key=None,reverse=False)

sorted语法:list2=sorted(list1(iterable),cmp=None,key=None,reverse=False) 

参数说明:iterable——可迭代的对象;

                  cmp——比较函数,比较物由关键字key决定;

                  key——用列表元素的某个属性或函数作为关键字(lambda为一个常用项);

                  reverse——排序方式:=False:升序(默认状态),=True:降序。

>>> list1=[4,3,1,9,8,5,6,2,7]
>>> list1.sort(reverse=True)
>>> list1
[9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> list2=[[1,2],[2,13],[5,0],[9,1]]
>>> sorted(list2,key=lambda x:x[0]+x[1])
[[1, 2], [5, 0], [9, 1], [2, 13]]

3、使用后影响上的区别:

sort函数使用后,对原列表的内容造成了改变;

sorted函数使用后,不对原迭代对象的内容造成改变,而是生成一个新列表。

结语:好了以上就是所有的内容,希望大家多多关注,点赞,收藏,这对我有很大的帮助。国康家安,大家下次再见喽!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Kamen Black君

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

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

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

打赏作者

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

抵扣说明:

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

余额充值