专业编程基础技术教程

网站首页 > 基础教程 正文

Python3中sort和sorted的区别

ccvgpt 2024-11-22 11:27:51 基础教程 1 ℃

1. 区别一

sort()是列表中的方法,只能用于列表的排序sorted()是Python的内部函数,可以对其它序列进行排序,不一定非得是列表。sort()是在原列表的基础上进行排序,它不会产生新的列表。但sorted()则是产生一个新的列表。

例如列表L:

Python3中sort和sorted的区别

L=['C','python','JAVA','JS','PHP','C#','matlab','VB']

我们可以看到用sorted()排序后,L的列表没有变化,这说明sorted是在不改变原列表的情况下进行排序,而是产生一个新的列表

下面我们看到sort()是改变了原列表

从上面两个例子我们可以看到,不管是sorted函数还是sort函数默认都是升序排列,那我们要降序排列该如何呢?

这里我们用到了reverse这个参数,如果是True就表示是降序排列,默认是False,是不写的。

注意:在Python3.x中,不管是sort还是sorted,都只能对相同的数据类型进行排序,如果一个序列既有字符型,又有整数型,就会报错

2.sort和sorted中的key参数

它们一般默认为None,该参数用来指定自定义的排序函数,从而实现自己的排序规则

例如我们需要按字符串的长度进行排序,我们可以定义如下函数:

def Bylen(s):

return len(s)


上面两个例子是利用字符串长度,并且是降序的排列。

更多的排序方式可以通过自定义函数来实现。

也可以通过视频观看这两者之间的区别,链接如下:sort()和sorted()之间的区别

Tags:

最近发表
标签列表