List 列表排序

来源:互联网 发布:mac苹果系统好用吗 编辑:程序博客网 时间:2024/05/17 02:51
对列表进行排序使用列表的sort()函数。

1、sort()函数

   sort()函数使用固定的排序算法对列表排序。sort()函数对列表排序时改变了原来的列表,从而让其中的元素能按一定的顺序排列,而不是简单的返回一个已排序的列表副本。

   注意sort()函数改变原来的列表,函数返回值是空值即None。因此,如果需要一个已排好序的列表副本,同时又要保留原有列表不变的时候,就不能直接简单的使用sort()函数。为了实现上述功能使用sort()的方法是:先获取列表X的副本Y,然后再对Y进行排序。代码如下:

  

List=[1,2,3,4,5]y=List[:]y.sort(reverse=True)print(y)

结果:[5, 4, 3, 2, 1]

PS:调用x[:]得到的是包含了x所有元素的分片,这是一种很有效率的复制整个列表的方法。通过y=x简单的将x复制给y是没有用的,因为这样做就让x和y都指向了同一个列表了

 

2、sorted()

x=[4,6,2,1,7,9,4]y=sorted(x)print xprint y

结果:

[4, 6, 2, 1, 7, 9, 4]

[1, 2, 4, 4, 6, 7, 9]

3、自己想的方法,可能比较笨 如下:

List=[1,2,3,4,5]x=List[:]y=[]T=Truecnt=0while T:    y.append(max(x))    del x[x.index(max(x))]    if len(x)==0:        T=Falseprint(y)

结果 [5, 4, 3, 2, 1]