【python深入】dict和list實現排序:sorted()和lambda的使用


Python中經常需要對dict中的key值或者value值進行排序,可以通過sorted方法和lambda結合使用,接下來就是sorted()和lambda

一、sorted()和lambda

sorted()函數原型:

sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

我們可以看到:一共接受的參數有4個,

需要排序的變量為iterable變量;

cmp,比較的函數,具有兩個參數,參數的值都是從可迭代對象中取出,此函數必須遵守的規則為,大於則返回1,小於則返回-1,等於則返回0

key,就是用來進行比較的元素,這個元素就是來源於可迭代對象中,指定可迭代對象中的一個元素進行排序

reverse,代表是否逆序,默認情況下是正序

lambda:

匿名函數,用法是:lambda [arguments]: expression

這個用法轉換成函數形式就是:

def lambda(arguments):

         return expression

二、list和dict排序

接下來是一堆例子,關於對list和dict進行排序的實例,結合這些更深入的理解sorted()和lambda

1、  list排序

然后是嵌套的list,會用到key參數

 

 

2、  dict排序

按照key值進行排序:

 

按照value值進行排序:

 

注意按照value值進行排序的正確方式是,sorted()方法的第一個參數是需要排序的變量,而對於dict而言,默認輸入dict的變量名,key中的lambda中的k就是key,並沒有value,因此會報出index out of range的錯誤,因此可以按照下面的方式執行,這樣就可以得到dict中的key和value排序后的list,並且key和value依然是配對的情況

 

如果我只是想要對value進行排序並且只輸出value的結果呢?

 

        

        

 


免責聲明!

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



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