使用lambda進行排序

1.使用lambda對list進行排序

>>> a = [('a',1),('b',5),('e',4),('f',2)]
>>> sorted(a,key=lambda a :a[1])
[('a', 1), ('f', 2), ('e', 4), ('b', 5)]

方法1.用List的成員函數sort進行排序,在本地進行排序,不返回副本
方法2.用built-in函數sorted進行排序(從2.4開始),返回副本,原始輸入不變

sorted(iterable,key,reverse)

其中iterable表示可以迭代的對象,例如可以是 dict.items()、dict.keys()等,key是一個函數,用來選取參與比較的元素,reverse則是用來指定排序是倒序還是順 序,reverse=true則是倒序,reverse=false時則是順序,默認時reverse=false。

2.使用lambda對字典進行排序

>>> dict1={'a':1, 'b':4, 'c':2, 'd':3}
>>> sorted(dict1.items(), key=lambda item:item[1]) 
[('a', 1), ('c', 2), ('d', 3), ('b', 4)]

lambda x:y中x表示輸入參數,y表示lambda 函數的返回值

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