Apply

f@@expr または Apply[f,expr]

expr の頭部を f で置換する.

Apply[f,expr,levelspec]

expr において levelspec によって指定される部分の頭部を置換する.

Apply[f]

式に適用可能なApplyの演算子形である.

詳細とオプション

  • Applyは標準的なレベル指定を用いる.
  • nレベル1からレベル n
    Infinityレベル1からInfinity
    {n}レベル n のみ
    {n1,n2}レベル n1からレベル n2
  • Applyにおける levelspec のデフォルト値は{0}とする.
  • Apply[f,expr,{1}]MapApply[f,expr]つまり f@@@expr と等価である. »
  • 正のレベル n は,n 個の指標で指定される expr のすべての部分からなる.
  • 負のレベル-n は,深度 nexpr のすべての部分からなる.
  • レベル-1は数,記号,それに下位区分を持たないその他のオブジェクトからなる.
  • レベル0は式全体に相当する.
  • Heads->Trueというオプション設定のとき,Applyは部分自体に加えて部分の頭部内にも適用される. »
  • Applyは,実質的に常に完全な新しい式を構築し,それを評価する.
  • ApplySparseArrayオブジェクトと構造配列を対応する通常のリストと同じように扱う. »
  • ApplyAssociationオブジェクトに適用された場合は値のみに作用する. »
  • Apply[f][expr]Apply[f,expr]に等しい.
  • Parallelize[Apply[f,expr,levelspec]]はすべてのサブカーネルでApply[f,expr,levelspec]を並列に計算する. »

例題

すべて開くすべて閉じる

  (6)

リストの頭部をfで置換する:

同様に:

頭部をPlusで置換することでリストを合計する:

Applyはリストのレベルを取り除く:

Applyの演算子形を使う:

fAssociationに適用すと,値だけが保たれる:

ListAssociationに適用することは,Valuesを使うことに等しい:

スコープ  (15)

レベル指定  (10)

レベル0(デフォルト)で適用する:

レベル1で適用する:

レベル01で適用する:

レベル2まで適用する(レベル0を除く):

レベル0から2まで適用する:

レベル1から始めてすべてのレベルに適用する:

レベル0にも適用する:

負のレベル:

正負のレベルを混合することができる:

各レベルで異なる頭部:

指定レベルの頭部の内部にも適用する:

式の種類  (5)

ApplyListだけではなく任意の頭部に使うことができる:

Applyは疎な配列に使うことができる:

ApplySymmetrizedArrayのような構造配列に使う:

Applyを使ってQuantityArray型の構造配列の行に関数を適用する:

f を連想の第2レベルに適用する.連想の頭部は保たれる:

f を複数のレベルに適用する:

オプション  (2)

Heads  (2)

引数だけではなく頭部内にも適用する:

レベル0が含まれている場合はオプションの効果はない:

アプリケーション  (4)

上付き文字を使って整数の因数分解を表示する:

範囲指定のリストから表を作成する:

複数の引数を取る関数を引数のリストを取る関数に変換する:

互いに素なランダムな整数を求める:

特性と関係  (5)

Totalは実質的にリストにPlusを適用したのと同じ働きをする:

純関数での##の使用はApplyを使うのと同じ効果がある:

レベル1に関数を適用する3つの方法:

Mapを使う:

MapApplyを使う:

通常の関数適用では,リストは1つの引数として扱われる:

Applyはリストの要素を別々の引数として扱う:

Applyを並列に計算する:

考えられる問題  (1)

下位区分を持たない原子オブジェクトに対する適用は,実質的には何も行わない:

Wolfram Research (1988), Apply, Wolfram言語関数, https://reference.wolfram.com/language/ref/Apply.html (2014年に更新).

テキスト

Wolfram Research (1988), Apply, Wolfram言語関数, https://reference.wolfram.com/language/ref/Apply.html (2014年に更新).

CMS

Wolfram Language. 1988. "Apply." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/Apply.html.

APA

Wolfram Language. (1988). Apply. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Apply.html

BibTeX

@misc{reference.wolfram_2024_apply, author="Wolfram Research", title="{Apply}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Apply.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_apply, organization={Wolfram Research}, title={Apply}, year={2014}, url={https://reference.wolfram.com/language/ref/Apply.html}, note=[Accessed: 21-November-2024 ]}