Python中排序函数sort()和sorted()的有什么区别呢?

注:本文为转载,如有侵权请告知,将予以删除

原文:https://blog.csdn.net/sinat_35512245/article/details/79584196 

今天在LeetCode上刷题的时候要用到排序函数,刚开始并没有意识到这两个排序函数的区别,导致产生了代码错误,特贴此帖。

首先这两个函数都能够实现排序的功能,但是原理却有很多的不同。先看如下代码:


输出的结果是:


有木有感到很奇怪,为什么listA的值变成了排序后的结果,但是newList_1却是None呢?查看源码:


原来sort()方法是在原来的列表上直接进行排序,并没有返回一个新的列表,所以返回值为None!

再看看:


输出的结果是:


有木有很神奇?listA并没有发生变化,但是返回的结果就成了排序后的列表。再来看看源码:


由以上可知,sorted()函数排好序后会返回一个新的列表,原来的列表并没有发生改变!

猜你喜欢

转载自blog.csdn.net/marraybug/article/details/85163205
今日推荐