python中涉及到的對象排序


一、列表(list)排序:

  1 sort()函數

    list對象有sort()內置排序方法。

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

    key:用來指定list中元素以什么形式去參與排序,該參數可以接受一個函數,以函數的返回值進行排序。

    reverse:默認false(升序),true為降序。

    sort()方法改變的是對象自身,所以元組在排序時要先轉換為列表。

  2內置函數sorted():

    result = sorted(iterable,key=None,reverse=False)

    iterable:為可迭代對象,

    key:用來指定可迭代對象中各元素以什么形式參與排序,key可以為一個函數,將會以函數的返回值對元素進行排序,

    reverse:默認false(升序),true為降序,

    result:sorted()函數不改變對象本身,它返回的是iterable按照key的排序方式排好之后的對象。

二、字典(dict)排序:

  1內置函數sorted():

    一下排序中sorted()函數默認reverse=False(降序),若要升序則reverse=True

    字典沒有實例排序方法sort()。

    字典排序分為按key排序、按value排序。

    按key排序: key_list = sorted(dict) 默認為按key排序,返回的是排好序的key的列表,

          key_value_tuple_list = sorted(dict.items()) 返回的是元素為元組 (key,value) 形式的列表。

    按value排序:  ①value_list = sorted(dict.values()) 返回的是排好序的value的列表,

            ②def func(item):

              print(itme) #item其實是個這 (key,value)

               return item[1] #如果這里返回item[0],將會按key進行排序

                key_value_tuple_list = sorted(dict.items(),key=func) 根據func的返回值進行排序,返回的是元素為元組(key,value)形式的列表,各元素以value進行排序。   

             ③from operator import itemgetter 

            key_value_tuple_list  = sorted(dict.items(),key=itemgetter(0)) #itemgetter(0)是key,所以這是以key值進行排序,返回的是元素為元組(key,value)形式的列表

            key_value_tuple_list  = sorted(dict.items(),key=itemgetter(0)) #itemgetter(1)是value,所以這是以value值進行排序,返回的是元素為元組(key,value)形式的列表

          

          


免責聲明!

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



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