概要:本文主要介绍一下 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函数使用后,不对原迭代对象的内容造成改变,而是生成一个新列表。
结语:好了以上就是所有的内容,希望大家多多关注,点赞,收藏,这对我有很大的帮助。国康家安,大家下次再见喽!!!


被折叠的 条评论
为什么被折叠?



