Map関数を使ってみよう

僕のプログラミング経験にはMap関数に値するものは出てこなかった。非常に便利な機能である。さっそく使ってみよう。

n個の中からx個を取り出すときの組み合わせを求める関数を以下のように定義する。

def factorial(x):
if x == 1:
return 1
else:
return x * factorial(x - 1)
def combination(x,n):
return factorial(n) / (factorial(n - x) * factorial(x))

map関数を用いて以下のように実行すると、5個から3個、8個から4個、10個から5個の計算結果をリストの形でいっぱつで返してもらうことが出来る。

>>> map(combination,[3,4,5],[5,8,10])
[10, 70, 252]

うーん便利。コード書く量大分減らせそう。