Apply

f@@exprApply[f,expr]

f 替换 expr的头部.

Apply[f,expr,levelspec]

替换 expr 中使用 levelspec 指定的部分的头部.

Apply[f]

表示 Apply的运算符形式,它可以应用于表达式.

更多信息和选项

  • Apply 使用标准层指定:
  • n1n
    Infinity1Infinity
    {n}只有层 n
    {n1,n2}n1n2
  • levelspec 的缺省值在 Apply 中为 {0}.
  • Apply[f,expr,{1}] 等价于 MapApply[f,expr]f@@@expr. »
  • 正层 n 由指标 n 指定的 expr 所有部分组成.
  • 负层 -n 由深度为 nexpr 所有部分组成.
  • -1 由不带次级部分的数值、符号和其它对象组成.
  • 0 对应于整个表达式.
  • 使用选项设置 Heads->TrueApply 将应用于除了部分本身之外的部分头部的内部. »
  • Apply 通常很有效地构成全新表达式然后进行计算.
  • ApplySparseArray 对象和结构化数组进行运算的方式就像对相应的普通列表一样. »
  • Association 对象上的 Apply 仅对值进行运算. »
  • Apply[f][expr] 等价于 Apply[f,expr].
  • Parallelize[Apply[f,expr,levelspec]] 在所有子核上并行运行 Apply[f,expr,levelspec]. »

范例

打开所有单元关闭所有单元

基本范例  (6)

f 替换列表的头部:

等价运算:

通过用 Plus 替换头部来对列表求和:

Apply 去掉了一层列表:

使用 Apply 的运算符形式:

f 应用于 Association,只保留数值:

List 应用于一个 Association,该效果等价于 Values

范围  (15)

层的指定  (10)

在层 0 应用(缺省):

在层 1 应用:

在层 01 应用:

向下应用至层 2 (层 0 除外):

在层 02 应用:

在所有层应用,从层 1 开始:

也在层 0 应用:

负层:

正层和负层可以混合:

各层的不同头部:

也在指定层的头部内使用:

表达式的类型  (5)

Apply 可用于任何头部,而不仅仅是 List

Apply 可用于稀疏数组:

Apply 用于结构化数组,如 SymmetrizedArray

使用 Apply 将函数应用于 QuantityArray 类型的结构化数组的行:

在关联关系的第二层应用 f;保留关联的头部:

在多层应用 f

选项  (2)

Heads  (2)

在头部内以及参数上应用:

如果包含零层,则该选项无效:

应用  (4)

使用上标表示一个整数的因数分解:

由一个范围指定的列表,创建一个表:

将函数的几个参数,转换成一个参数列表:

求随机互质的整数:

属性和关系  (5)

Total 实际上与将 Plus 应用到一个列表的效果相同:

在纯函数中使用 ## 与应用 Apply 的效果相同:

在第 1 层应用函数的三种方式:

使用 Map

使用 MapApply

一般函数应用将列表当作一个单一参数:

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 语言. 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_2024_apply, author="Wolfram Research", title="{Apply}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Apply.html}", note=[Accessed: 22-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: 22-November-2024 ]}