master
Go to lineLCopy pathCopy permalink
Cannot retrieve contributors at this time
140 lines (94 sloc) 5.93 KB
#python的排序详解
排序,在编程中经常遇到的算法,我也在几篇文章中介绍了一些关于排序的算法。有的高级语言内置了一些排序函数。本文讲述Python在这方面的工作。供使用python的程序员们参考,也让没有使用python的朋友了解python。领略一番“生命有限,请用Python”的含义。
##内置函数sorted()/list.sort()的使用
###简单应用
python对list有一个内置函数:sorted(),专门用于排序。举例:
>>> a=[5,3,6,1,9,2] >>> sorted(a) #a经过sorted之后,得到一个排序结果 [1, 2, 3, 5, 6, 9] #但是,原有的a并没有受到影响 >>> a [5, 3, 6, 1, 9, 2]
也可以使用list.sort()来进行上述操作。
>>> a.sort() >>> a #注意这里,经过list.sort()之后,原有 [1, 2, 3, 5, 6, 9] #a的顺序已经发生变化,与上述不同之处。
**sorted和list.sort()的区别:**list.sort()只能对list类型进行排序。如下:
>>> b_dict={1:'e',3:'m',9:'a',5:'e'} >>> b_dict.sort() Traceback (most recent call last): File "", line 1, inAttributeError: 'dict' object has no attribute 'sort'
而sorted则不然,看例子:
>>> b_dict {1: 'e', 3: 'm', 5: 'e', 9: 'a'} >>> sorted(b_dict) [1, 3, 5, 9]
sorted之后,上述对dictinoary中,将key值取出并排序,返回list类型的排序结果。
###按照指定关键词排序
在list.sort(