09/06/18 09:21:38
>>259
普通に自分で def した関数ならば変わらない。
でも、自分で定義しなくても使える関数はC言語で実装されている
事が多いので、同じ事をする lambda よりも高速な事が多い。
速い順に並べると、
1. C関数の内包表記/map
map(str, l)
[str(x) for x in l]
2. Python式による内包表記
[x*2+3 for x in l]
3. Python関数による内包表記/map
def func(x):
return x * 2 + 3
map(func, l)
[func(x) for x in l]
map(lambda x: x*2+3, l)
なので、mapを使っても悪くは無い場合は、1か、3で既存のPython関数を
使う(map用に用意しなくてもいい)場面のみ。