使用Python对数据排序时,有两种选择。
原地排序(In-place sorting)是指按你制定的顺序排列数据,然后用排序后的数据替换原来的数据。
原来的顺序会丢失。对于列表,sort()方法会提供原地排序:
>>>data = [6, 3, 1, 2, 4, 5] >>>data [6, 3, 1, 2, 4, 5] 使用sort()方法完成原地排序,每个Python列表都有的一个标准方法: >>>data.sort() >>>data [1, 2, 3, 4, 5, 6]
复制排序(Copied sorting)是指按你指定的顺序排列数据,然后返回原数据的一个有序副本。原数据的顺序依然保留,只是对一个副本排列。
在Python中,sorted()BIF支持复制排列:
>>>data = [6, 3, 1, 2, 4, 5] >>>data [6, 3, 1, 2, 4, 5] >>>data2 = sorted(data) >>>data [6, 3, 1, 2, 4, 5] data2 [1, 2, 3, 4, 5, 6]
sort()和sorted()均是按升序排列元素,要以降序对数据排列,需要向sort()或sorted()传入参数reverse=True,Python会负责具体处理。