Python数组排序
x = [4, 6, 2, 1, 7, 9]x.sort()print x # [1, 2, 4, 6, 7, 9]改变x自身
通过复制数组方式进行排序:
x =[4, 6, 2, 1, 7, 9]y = x[ : ]y.sort()print y #[1, 2, 4, 6, 7, 9]print x #[4, 6, 2, 1, 7, 9]通过sorted方法来返回一个新数组,而不改变自身
x =[4, 6, 2, 1, 7, 9]y = sorted(x)print y #[1, 2, 4, 6, 7, 9]print x #[4, 6, 2, 1, 7, 9]使用自定义比较函数:
def comp(x, y): if x < y: return 1 elif x > y: return -1 else: return 0 nums = [3, 2, 8 ,0 , 1] nums.sort(comp) print nums # 降序排序[8, 3, 2, 1, 0] nums.sort(cmp) # 调用内建函数cmp ,升序排序 print nums # 降序排序[0, 1, 2, 3, 8]
倒序实现:
y = [3, 2, 8 ,0 , 1]y.sort(reverse = True)print y #[8, 3, 2, 1, 0]