1. 区别一
sort()是列表中的方法,只能用于列表的排序sorted()是 python 的内部函数,可以对其它序列进行排序,不一定非得是列表。sort()是在原列表的基础上进行排序,它不会产生新的列表。但sorted()则是产生一个新的列表。
例如列表L:
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)
上面两个例子是利用字符串长度,并且是降序的排列。
更多的排序方式可以通过自定义函数来实现。
也可以通过视频观看这两者之间的区别,链接如下: