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]