Python sorted 方法 使用例子和稳定性分析
2014-03-14 14:02
656 查看
转自http://longriver.me/?p=325
经常使用python built-in sort 方法,使用方法例子如下:
Sorted 方法用起来很方便,当alist的元素是个对象的时候可以自己定义对对象的排序,如
有的时候我们需要连续使用sorted对list的elements做多次排序,这样就需要考虑python 内置的sorted 的稳定性问题:
In early python-versions, the sort function implemented a modified version of quicksort. However, it was deemed unstable and as of 2.3 they switched to using an adaptive mergesort algorithm.
可见早期的sort实现的是quicksort,是不稳定,到了python2.3之后,改成了适应性的归并排序算法,是稳定算法了。
如果想看sort的源代码,可以看这里
经常使用python built-in sort 方法,使用方法例子如下:
1 2 3 4 | alist=[1,2,3,4,5,6,7] blist=sorted(alist,key=lambdaele:ele,reverse=True) printblist [7,6,5,4,3,2,1] |
1 | sorted(nb_stats,key=lambda stat:10*len(stat.night_day)+len(stat.day),reverse=True) |
In early python-versions, the sort function implemented a modified version of quicksort. However, it was deemed unstable and as of 2.3 they switched to using an adaptive mergesort algorithm.
可见早期的sort实现的是quicksort,是不稳定,到了python2.3之后,改成了适应性的归并排序算法,是稳定算法了。
如果想看sort的源代码,可以看这里
相关文章推荐
- python数据分析包pandas的使用方法
- Python中使用item()方法遍历字典的例子
- Python random模块(获取随机数)常用方法和使用例子
- Python中使用item()方法遍历字典的例子
- Python random模块(获取随机数)常用方法和使用例子
- python的numpy包中shape,tile,argsort函数与sorted函数使用方法
- 一种分析代金券使用分布情况的方法python实现版(上)
- Python random模块(获取随机数)常用方法和使用例子
- python中sorted方法和列表的sort方法使用详解
- python使用sorted方法 根据字符串中的序号进行排序
- Python中使用item()方法遍历字典的例子
- python使用htmllib分析网页内容的方法
- python使用正则表达式分析网页中的图片并进行替换的方法
- python使用BeautifulSoup分析网页信息的方法
- 一种分析代金券使用分布情况的方法python实现版(下)
- python使用htmllib分析网页内容的方法
- python使用urlparse分析网址中域名的方法
- Python random模块(获取随机数)常用方法和使用例子
- Python random模块(获取随机数)常用方法和使用例子
- Python使用sorted排序的方法小结