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'