Apply 
更多信息和选项
- Apply 使用标准层指定:
-
n 层 1 到 n Infinity 层 1 到 Infinity {n} 只有层 n {n1,n2} 层 n1 到 n2 - levelspec 的缺省值在 Apply 中为 {0}.
- Apply[f,expr,{1}] 等价于 MapApply[f,expr] 或 f@@@expr. »
- 正层 n 由指标 n 指定的 expr 所有部分组成.
- 负层 -n 由深度为 n 的 expr 所有部分组成.
- 层 -1 由不带次级部分的数值、符号和其它对象组成.
- 层 0 对应于整个表达式.
- 使用选项设置 Heads->True,Apply 将应用于除了部分本身之外的部分头部的内部. »
- Apply 通常很有效地构成全新表达式然后进行计算.
- Apply 对 SparseArray 对象和结构化数组进行运算的方式就像对相应的普通列表一样. »
- Association 对象上的 Apply 仅对值进行运算. »
- 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[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)
应用 (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]]技术笔记
相关的工作流程
- 对笔记本中的单元应用函数
历史
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 语言. 1988. "Apply." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2014. https://reference.wolfram.com/language/ref/Apply.html.
APA
Wolfram 语言. (1988). Apply. Wolfram 语言与系统参考资料中心. 追溯自 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: 15-August-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: 15-August-2026]}