在刷leetcode一道要求时间复杂度的题目,用了sort排序,发现时间复杂度还可以。
#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, in
AttributeError: '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值取出并排序