Python中sort和sorted的区别

前言

在一些面试当中面试官经常会有问到,很多小伙伴一下子就分不清楚两者到底有什么区别,因为看名字就知道肯定是用来排序的嘛。那到底有什么区别呢?

描述

1.sort是应用在list(也就是列表)上的方法,属于列表的成员方法;而sorted是Python内置的全局方法,可以对所有可迭代对象进行排序操作

2.list的sort方法是对已存在的列表进行操作;而内建函数sorted的结果会返回一个新生成的列表,而不是在原有列表的基础上进行操作

3.sort的使用方法为list.sort(),而sorted的使用方法为sorted(list)

sorted语法

sorted(iterable=None,key=None,reverse=False)

参数说明:

iterable:可迭代对象

key:该参数的值为一个函数,此函数只有一个参数,并且返回一个值用来进行比较。这个方法是快速的,因为key指定的函数会对每个元素进行调用,如通过指定key的函数来忽略字符串的大小写:

一般key更广泛的使用情况是用在复杂对象的某些值来对复杂对象的序列排序,例如:

一个存储学生姓名、成绩以及年龄的元组

接下来对于这些学生信息按照年龄进行排序:

按照年龄排序之后的结果

reverse:排序规则,reverse=False 升序(默认),reverse=True 降序

接下来就直接上代码进行实操

sorted()实操案例

可以看到,sorted是直接返回一个新的列表,而原列表并没有进行改动

sort语法

list.sort(key=None,reverse=False)

两个参数跟上面sorted的参数一样

在使用的时候要注意的是list.sort()没有返回值,也就是返回值为None。


list.sort()实操

你可能感兴趣的:(Python中sort和sorted的区别)