Python中sort()和sorted()的差异

107 阅读1分钟

在Python中想要对列表进行排序,通常使用两种方法:sort()方法和sorted()函数。

1、定义上的区别

sort()方法的定义:

sorted()方法的定义:

从定义上发现,sort()的第一个参数包含self,也就是说sort()在类中定义,应称之为方法,而sorted()没有self参数,属于Python的内置函数,跟print()函数是一样的。

2、使用上的区别

在Pycharm中对sort()和sorted()进行实验,看看两者使用上的差异。

1、sort()方法

编辑代码:

运行结果:

从运行结果可以看出,test_list调用sort()方法前后自身的地址并未改变,但是数据发生了变化,且sort()方法的返回值为None。

2、sorted()函数

编辑代码:

运行结果:

从运行结果可以看出,sorted()函数调用前后test_list的地址和数据都没有发生变化,而是生成了一个新列表。

3、总结

一句话概括下sort()方法和sorted()函数的差异:sort()方法是“原地”排序,sorted()函数是“外地”排序。