在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()函数是“外地”排序。