ランダムなメモランダム

雑草のような雑念と雑考

Map と Apply

 Mathematicaでリストを使いこなすためには、MapとApplyを知っておく必要があります。でも、この両者を使い分けるにはかなり詳細なリストの構造を知っておくことをお勧めします。
 
まう、Apply
ApplyはHeadを書き換えます。

mylist = Range[100]
Map[f, mylist]

としてみてください。
 fが未定義の関数であってもfを適用したリストが生成できます。
関数がListableでない場合には至極役に立ちます。Listableとはリストの各要素に適用できることです。
 関数がListableではない場合は,代りにMapを使うことができるのです。

Applyはタイプが異なります。もともとのリストの構造を生かしつつ、そのHeadを置き換えることを意味します。

ApplyはHeadを書き換える。短縮形@@です。
f @@ g[a, b, c, d]