快捷搜索:  汽车  科技

python的sorted内置函数怎么用?Python3中sort和sorted的区别

python的sorted内置函数怎么用?Python3中sort和sorted的区别它们一般默认为None 该参数用来指定自定义的排序函数,从而实现自己的排序规则注意:在Python3.x中,不管是sort还是sorted,都只能对相同的数据类型进行排序,如果一个序列既有字符型,又有整数型,就会报错下面我们看到sort()是改变了原列表从上面两个例子我们可以看到,不管是sorted函数还是sort函数默认都是升序排列,那我们要降序排列该如何呢?这里我们用到了reverse这个参数,如果是True就表示是降序排列,默认是False,是不写的。

1. 区别一

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

例如列表L:

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

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

python的sorted内置函数怎么用?Python3中sort和sorted的区别(1)

python的sorted内置函数怎么用?Python3中sort和sorted的区别(2)

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

python的sorted内置函数怎么用?Python3中sort和sorted的区别(3)

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

python的sorted内置函数怎么用?Python3中sort和sorted的区别(4)

python的sorted内置函数怎么用?Python3中sort和sorted的区别(5)

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

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

2.sort和sorted中的key参数

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

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

def Bylen(s):

return len(s)

python的sorted内置函数怎么用?Python3中sort和sorted的区别(6)

python的sorted内置函数怎么用?Python3中sort和sorted的区别(7)

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

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

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

猜您喜欢: