のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

python map reduce filter(lambda演算)

Sponsored Links

皆さんこんにちは
お元気ですか?私は元気です。

さて、今回はmap,reduce,filterを行います。
その前にlambdaから

lambda演算とは?

もともとはLispからきたそうな
関数型言語の表現としてラムダの記法を使う習慣から来ているらしい。

一言で言うとよくわからん。
実際の例を見てみよう。

func = lambda a,b:a+b
print func(1,3)

まぁざっくりいうと関数の別の表現ですね
lambda <第一引数><第二引数>:式
のような形で表現することができます。

これを利用してPythonでプログラムするとPythonらしいプログラミングをすることができます。

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))