首先把實現方法寫出來,其實很簡單,只需要一句代碼即可:
productlist.sort(lambda p1, p2:cmp(p1.getPrice(), p2.getPrice()))
數組productlist中存儲的是自定義類Product,Product有一個方法是返回商品的價格,于是對productlist按照Product的價格從低到高進行排序,僅需要如此簡單的一行代碼即可實現。
Python真的是一門簡潔而強大的語言,實際上,我也是從寫出一行代碼之后,才真正感受到這門語言的魅力。
寫到這里,順便介紹一下lambda表達式的相關知識,現在很多語言都支持lambda表達式,甚至包括.Net。
lambda函數一般也被叫做匿名函數,先來看一個最簡單例子:
def test(x): return x**2 print test(4)
如果使用lambda,則語法如下:
test = lambda x : x**2 print test(4)
從上面的例子可以看出,lambda語句構建的其實是一個函數對象,lambda最大的特點就是,可以省去定義函數的過程,讓代碼更加精簡。
關于lambda的語法
lambda語句中,冒號前是參數,可以有多個,用逗號隔開;冒號右邊是返回值。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
