python map reduce filter(lambda演算)
Sponsored Links
皆さんこんにちは
お元気ですか?私は元気です。
さて、今回はmap,reduce,filterを行います。
その前にlambdaから
lambda演算とは?
もともとはLispからきたそうな
関数型言語の表現としてラムダの記法を使う習慣から来ているらしい。
一言で言うとよくわからん。
実際の例を見てみよう。
func = lambda a,b:a+b print func(1,3)
まぁざっくりいうと関数の別の表現ですね
lambda <第一引数><第二引数>:式
のような形で表現することができます。
map(要素に対し処理を行う時に便利)
L = [1,2,3,4,5] result = [] for e in L: result += [e*2] print result print map(lambda x:x*2,L)
reduce(全体に対する処理を行うのに便利)
L = [1,2,3,4,5] result = 0 for i in L: result += i print result print reduce(lambda a,b: a+b,L)
filter(要素を抽出する時に使う。)
result = [] for e in L: if e > 3: result += [e] print result print filter(lambda x: x>3, L)
map+filter(組み合わせー)
result = []
for e in L:
if e > 3:
result += [e*2]
print result
print map(lambda x: x*2, filter(lambda x: x > 3, L))