Python数组排序
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]
技术改变未来