List 列表排序

對列表進行排序使用列表的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 x
print 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=True
cnt=0
while T:
    y.append(max(x))
    del x[x.index(max(x))]
    if len(x)==0:
        T=False
print(y)

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章