python序列(六)列表排序


 

  1.sort方法排序原址排序

    list.sort(key=None,reverse=False(or True))

    當reverse=False時:為正向排序;

    當reverse=True時:為反向排序。

    默認為False。

  2.key:排序關鍵字,值為一個函數,此函數只有一個參數且返回一個值,比如,有一個User對象的list,希望通過對象的user_id樹形進行排序,可以提供一個以User實例作為輸入並輸出對應user_id值得函數給key(即key=lambda u:uuser_id或key=attrgetter(‘user_id’))

  3.執行完后會改變原來的list,如果你不需要原來的list,這種效率稍微高點

>>> list = [1,2,3,4,5,6,7,8,9] >>> list [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> import random>>> random.shuffle(list)    #打亂順序 >>> list [8, 1, 9, 2, 4, 3, 5, 6, 7] >>> list.sort()          #默認是升序排序 >>> list.sort(reverse = True)  #降序排序 >>> list [9, 8, 7, 6, 5, 4, 3, 2, 1] >>> list.sort(key = lambda x:len(str(x)))  #按轉換成字符串的長度排序 >>> list [9, 8, 7, 6, 5, 4, 3, 2, 1]

  4.使用內置函數sorted對列表進行排序並返回新列表

>>> list [9, 8, 7, 6, 5, 4, 3, 2, 1] >>> sorted(list)          #升序排序 [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> sorted(list,reverse = True) #降序排序 [9, 8, 7, 6, 5, 4, 3, 2, 1]

  5.使用列表對象的reverse方法將元素原地逆序

 

>>> list [9, 8, 7, 6, 5, 4, 3, 2, 1] >>> list.reverse() >>> list [1, 2, 3, 4, 5, 6, 7, 8, 9]

  6.使用內置函數revese方法對列表元素進行你不排列並返回迭代對象

 

   7.使用列表對象的reversed方法對列表元素進行逆序排列並返回迭代對象

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM