lambda表达式python啥意思_Python中lambda表达式是什么
Python中lambda表達式是什么
發布時間:2020-09-24 09:56:07
來源:億速云
閱讀:83
作者:Leah
本篇文章給大家分享的是有關Python中lambda表達式是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
lambda表達式格式以及應用場景
1、lambda函數與list的結合使用list?=?lambda:x?for?x?in?range(10)
print?(list[0])
>>>9
list?=?lambda?x:x?for?x?in?range(10)
print?(list[0])
>>>0
2、map,filter,reduce函數
例子:a?=?[('a',1),('b',2),('c',3),('d',4)]
a_1?=?list(map(lambda?x:x[0],a))
如上例子,map函數第一個參數是一個lambda表達式,輸入一個對象,返回該對象的第一個元素。第二個就是需要作用的對象,此處是一個列表。Python3中map返回一個map對象,我們需要人工轉為list,得到的結果就是[‘a’,’b’,’c’,’d’]
例子:a?=?[1,2,3,4]
b?=?[2,3,4,5]
a_1?=?list(map(lambda?x,y:x+y,a,b))
上邊這個例子是為了說明,lambda表達式參數可以是多個。返回結果是[3,5,7,9]
例子:a?=?[1,2,3,4,5,6,7]
a_1?=?filter(lambda?x:x<4,a)
如上例子,定義lambda表達式,篩選a列表中小于4的元素,結果為[1,2,3]。filter函數直接返回一個列表,無需再進行轉換,第三個是初始值,我們沒給初始值,那么開始操作的兩個元素就是序列的前兩個。否則將使用我們給出的初始值和序列第一個元素操作,然后結果再與第三個元素操作,以此類推。上個例子結果是28
例子:from?functools?import?reduce?#python3需要導入此模塊
a?=?[1,2,3,4,5,6,7]
a_1?=?reduce(lambda?x,y:x+y,a)
reduce中使用的lambda表達式需要兩個參數,reduce函數共三個參數。
第一個是就是lambda表達式,第二個是要累計的序列,第三個是初始值,我們沒給初始值,那么開始操作的兩個元素就是序列的前兩個。否則將使用我們給出的初始值和序列第一個元素操作,然后結果再與第三個元素操作,以此類推。上個例子結果是28。
3、字典多條件排序
例子:dict?=?{'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7}
sorted_dict_asc?=?sorted(dict.items(),key=lambda?item:item[0])
sorted_dict_dsc?=?sorted(dict.items(),key=lambda?item:item[0],reverse=True)
輸出(第一個升序,第二個降序):[('a',?1),?('b',?2),?('c',?3),?('d',?4),?('e',?3),?('f',?1),?('g',?7)]
[('g',?7),?('f',?1),?('e',?3),?('d',?4),?('c',?3),?('b',?2),?('a',?1)]]
以上就是Python中lambda表達式是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
總結
以上是生活随笔為你收集整理的lambda表达式python啥意思_Python中lambda表达式是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java dao service实例_浅
- 下一篇: python初始化方法对应的变量是全局变