新聞中心
lambda表達式格式以及應用場景

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比合江網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式合江網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋合江地區(qū)。費用合理售后完善,十年實體公司更值得信賴。
1、lambda函數(shù)與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函數(shù)
例子:
a = [('a',1),('b',2),('c',3),('d',4)]
a_1 = list(map(lambda x:x[0],a))如上例子,map函數(shù)第一個參數(shù)是一個lambda表達式,輸入一個對象,返回該對象的第一個元素。第二個就是需要作用的對象,此處是一個列表。python3中map返回一個map對象,我們需要人工轉為list,得到的結果就是[‘a(chǎn)’,’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表達式參數(shù)可以是多個。返回結果是[3,5,7,9]
相關推薦:《Python視頻教程》
例子:
a = [1,2,3,4,5,6,7] a_1 = filter(lambda x:x<4,a)
如上例子,定義lambda表達式,篩選a列表中小于4的元素,結果為[1,2,3]。filter函數(shù)直接返回一個列表,無需再進行轉換,第三個是初始值,我們沒給初始值,那么開始操作的兩個元素就是序列的前兩個。否則將使用我們給出的初始值和序列第一個元素操作,然后結果再與第三個元素操作,以此類推。上個例子結果是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表達式需要兩個參數(shù),reduce函數(shù)共三個參數(shù)。
第一個是就是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)]] 當前標題:創(chuàng)新互聯(lián)Python教程:Python之lambda表達式
標題來源:http://m.5511xx.com/article/dhggpps.html


咨詢
建站咨詢
