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 は,深度 n の expr のすべての部分からなる.
- レベル-1は数,記号,それに下位区分を持たないその他のオブジェクトからなる.
- レベル0は式全体に相当する.
- Heads->Trueというオプション設定のとき,Applyは部分自体に加えて部分の頭部内にも適用される. »
- Applyは,実質的に常に完全な新しい式を構築し,それを評価する.
- ApplyはSparseArrayオブジェクトと構造配列を対応する通常のリストと同じように扱う. »
- ApplyはAssociationオブジェクトに適用された場合は値のみに作用する. »
- Apply[f][expr]はApply[f,expr]に等しい.
- Parallelize[Apply[f,expr,levelspec]]はすべてのサブカーネルでApply[f,expr,levelspec]を並列に計算する. »
例題
すべて開く すべて閉じる例 (6)
Apply[f, {a, b, c, d}]f@@{a, b, c, d}頭部をPlusで置換することでリストを合計する:
Plus@@{1, 2, 3, 4}Applyはリストのレベルを取り除く:
f@@{{a, b}, {c}, d}Applyの演算子形を使う:
Apply[f][{{a, b}, {c}, d}]f をAssociationに適用すと,値だけが保たれる:
Apply[f, <|1 -> a, 2 -> b, 3 -> c|>]ListをAssociationに適用することは,Valuesを使うことに等しい:
Apply[List, <|1 -> a, 2 -> b, 3 -> c, 4 -> {d}|>]Values[<|1 -> a, 2 -> b, 3 -> c, 4 -> {d}|>]スコープ (15)
レベル指定 (10)
Apply[f, {{a, b, c}, {d, e}}]f@@{{a, b, c}, {d, e}}Apply[f, {{a, b, c}, {d, e}}, {1}]Apply[f, {{a, b, c}, {d, e}}, {0, 1}]Apply[f, {{{{{a}}}}}, 2]Apply[f, {{{{{a}}}}}, {0, 2}]Apply[f, {{{{{a}}}}}, Infinity]Apply[f, {{{{{a}}}}}, {0, Infinity}]Apply[f, {{{{{a}}}}}, -1]Apply[f, {{{{{a}}}}}, -2]Apply[f, {{{{{a}}}}}, -3]Apply[f, {{{{{a}}}}}, {2, -3}]Apply[f, h0[h1[h2[h3[h4[a]]]]], {2, -3}]Apply[f, p[x][q[y]], {1}, Heads -> True]式の種類 (5)
ApplyはListだけではなく任意の頭部に使うことができる:
Apply[Plus, g[x, y, z]]Applyは疎な配列に使うことができる:
SparseArray[{1 -> 1, 2 -> 2, 10 -> 10}]Apply[List, %]ApplyをSymmetrizedArrayのような構造配列に使う:
SymmetrizedArray[{{1, 2} -> 1, {1, 3} -> 2, {2, 3} -> 3}, {3, 3}, Antisymmetric[All]]f@@%Applyを使ってQuantityArray型の構造配列の行に関数を適用する:
QuantityArray[{{1, 2}, {3, 4}, {5, 6}}, "Meters"]Apply[g, %, {1}]Apply[f, <|1 -> a, 2 -> b, 3 -> c, 4 -> {d, {e}}|>, {2}]Apply[f, <|1 -> a, 2 -> b, 3 -> c, 4 -> {d, {e}}|>, {0, 2}]オプション (2)
Heads (2)
Apply[f, p[x][q[y]], {1}, Heads -> True]Apply[f, p[x][q[y]], {1}]Apply[f, p[x][q[y][r[z]]], {0, 1}, Heads -> True]Apply[f, p[x][q[y][r[z]]], {0, 1}, Heads -> False]アプリケーション (4)
FactorInteger[20!]CenterDot@@Apply[Superscript, %, {1}]Table[i ^ j, ##]&@@{{i, 3}, {j, 4}}cplus[list_] := Plus@@listcplus[{a, b, c}]Select[RandomInteger[10, {20, 2}], Apply[CoprimeQ]]特性と関係 (5)
Totalは実質的にリストにPlusを適用したのと同じ働きをする:
Total[{a, b, c, d}]Plus@@{a, b, c, d}純関数での##の使用はApplyを使うのと同じ効果がある:
Plus@@{1, 2, 3, 4}Plus[##]&[1, 2, 3, 4]Apply[f, {{a, b}, {c, d}}, {1}]Mapを使う:
Apply[f, #]& /@ {{a, b}, {c, d}}MapApplyを使う:
f@@@{{a, b}, {c, d}}f@{a, b, c}Applyはリストの要素を別々の引数として扱う:
f@@{a, b, c}Applyを並列に計算する:
Parallelize[Apply[f, {{a, b, c}, {u, v, w}, {x, y}}, 1]]テクニカルノート
関連するガイド
-
▪
- 関数のリストへの適用 ▪
- リスト操作 ▪
- 関数型プログラミング ▪
- Wolfram言語のシンタックス ▪
- 式 ▪
- 関数の合成と演算子形式 ▪
- データの配列の操作
関連するワークフロー
- 関数をノートブックのセルに適用する
履歴
1988 で導入 (1.0) | 1999 で更新 (4.0) ▪ 2000 (4.1) ▪ 2002 (4.2) ▪ 2003 (5.0) ▪ 2014 (10.0)
テキスト
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_2026_apply, author="Wolfram Research", title="{Apply}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Apply.html}", note=[Accessed: 16-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_apply, organization={Wolfram Research}, title={Apply}, year={2014}, url={https://reference.wolfram.com/language/ref/Apply.html}, note=[Accessed: 16-June-2026]}