Python中的排序分为原地排序和复制排序。
- 原地排序(in place sort) 指按照指定的方式排列数据,然后用排序后的数据替换原有数据
- 复制排序(copied sort)指按你指定的方式排列数据,然后返回一个源数据的有序副本,源数据的顺序依然保留
- 原地排序使用对象的sort()方法
- 复制排序使用内置BIF sorted()
- 默认都是正序,倒序的话可以添加reverse=True
原地排序:
>>> a =[2,3,6,9,43,6,98,4,8] >>> a.sort() >>> a [2, 3, 4, 6, 6, 8, 9, 43, 98] >>> a.sort(reverse=True) >>> a [98, 43, 9, 8, 6, 6, 4, 3, 2] >>> sorted(a,reverse=True) [98, 43, 9, 8, 6, 6, 4, 3, 2]
复制排序:
>>> b = [7,45,8,3,5,7,9,0,5,7] >>> sorted(b) [0, 3, 5, 5, 7, 7, 7, 8, 9, 45] >>> b [7, 45, 8, 3, 5, 7, 9, 0, 5, 7]
去重:
对一个列表进行去重其实有很多方法:
>>> d = ['a','b','a','c'] >>> e=[] >>> for i in d: if i not in e: e.append(i) >>> e ['a', 'b', 'c']
这里可以利用一种特殊的数据类型集合。集合是无序的并且元素是唯一的
>>> d ['a', 'b', 'a', 'c'] >>> set(d) {'b', 'a', 'c'}