|
2.2.3 リストや他の式への関数適用
f[{a, b, c}]のような式において,リストを関数の引数として与える.場合によっては,関数をリスト全体ではなく,リストの各要素に直接適用させたい.そのようなときは,Applyを使う.
Applyを使いリストの各要素を関数fの引数にする.
In[1]:= Apply[f, {a, b, c}]
Out[1]= 
こうするとPlus[a, b, c]が得られ,リストの要素の総和を計算することができる.
In[2]:= Apply[Plus, {a, b, c}]
Out[2]= 
Applyを利用し,統計的平均を求める関数を作る.
In[3]:= mean[list_] := Apply[Plus, list] / Length[list]

リストや式のレベル別関数適用
Applyを使うと,通常,式の頭部が指定された関数に置き換えられる.この例ではPlusがListに置換される.
In[4]:= Apply[List, a + b + c]
Out[4]= 
行列を入力する.
In[5]:= m = {{a, b, c}, {b, c, d}}
Out[5]= 
特にレベルは指定していないので,トップレベルに当たるリストが fに置換される.
In[6]:= Apply[f, m]
Out[6]= 
レベル1のmの部分にだけfを適用させる.
In[7]:= Apply[f, m, {1}]
Out[7]= 
レベル0から1にfを適用させる.
In[8]:= Apply[f, m, {0, 1}]
Out[8]= 
|