python內建函數能夠理解爲python自帶的函數,不須要導入模塊便可使用。而lambda函數能夠理解爲定義函數的另一種方式,與def不一樣的是它是一個表達式,而def是一個語句。因而,lambda比def「更小」,能夠出如今def不能出現的位置,例如列表中:[lambda x: x * 2,lambda x: x * 3]。而在python的內建函數中,lambda定義函數的方式也有着其用途。例如max()函數,其做用是返回一個列表中最大的一項,而這個大小的斷定規則是由max()函數中的key參數肯定的。例如:
python
>>>l = ['a.b.c','a.b.c.d','1.2.3.4.5'] >>>max(l,key = lambda n: len(n.split('.'))) >>>'1.2.3.4.5'
上述例子中,key參數也能夠使用一個由def定義的函數,不過要在使用以前就定義好。ide
>>>def fun(n): return len(n.split('.')) >>>l = ['a.b.c','a.b.c.d','1.2.3.4.5'] >>>max(l,key = fun) >>>'1.2.3.4.5'