python組み込み関数とlambda関数


python組み込み関数はpythonが持つ関数と理解でき、モジュールをインポートする必要がなく使用できます.一方、lambda関数は、defとは異なり式であり、defは文である関数を定義する別の方法として理解することができる.したがって、lambdaはdefよりも「小さい」ので、defが現れない場所、例えばリストに「lambda x:x*2、lambda x:x*3」が表示される.pythonの組み込み関数ではlambdaが関数を定義する方法にも用途がある.例えばmax()関数は、リストの最大の1つを返す役割を果たし、このサイズの判定規則はmax()関数のkeyパラメータによって決定される.例:
>>>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によって定義された関数を使用することもできますが、使用する前に定義してください.
>>>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'