Fold

Fold[f,x,list]

给出 FoldList[f,x,list] 的最后元素.

Fold[f,list]

等价于 Fold[f,First[list],Rest[list]].

Fold[f]

表示可应用于表达式的 Fold 的算子形式.

更多信息

  • 可以使用 Throw 在它被完成前从 Fold 退出.
  • Fold[f][list] 等价于 Fold[f,list].
  • Fold[f][x,list] 等价于 Fold[f,x,list].

范例

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

基本范例  (4)

连续将函数 f 应用于种子 x 和列表的元素:

FoldList 一起使用,创建嵌套有序数据对:

一次乘以一个元素:

从列表第一个元素开始:

范围  (8)

将纯函数与 Fold 一起使用:

对一个参数使用 Fold 的算子形式:

对两个参数使用 Fold 的算子形式:

用左结合创建嵌套的幂:

用右结合创建嵌套的幂:

执行接下来的两个置换:

执行叉积的链:

第三个参数的标头不必是 List

Throw 提前退出 Fold

应用  (9)

创建一个嵌套的多项式 (Horner 形式):

HornerForm 直接产生输出:

形成连分式:

形成由数字组成的数:

形成一个交错总和:

形成一个二元树:

形成一个左分支二元树:

形成一个组合函数:

应用一个索引的函数序列:

接连分离列表:

属性和关系  (9)

将空列表折叠,完全不应用函数:

下面的式子同样不应用函数:

Fold 返回 FoldList 的最后一个元素:

Fold 要求函数 f 在第一个参数中使用种子:

如果想要在第二个参数中使用种子,可使用 ReverseApplied

Fold 从左到右获取列表中的元素:

Reverse 从右到左获取元素:

合并使用 ReverseReverseApplied

折叠一个额外元素相当于将函数应用于额外元素:

Fold[f,x,{a,b,}] 等价于 Fold[f,f[x,a],{b,}]

忽略第二自变量的函数给出 Nest 中相同的结果:

可用 NestWhileList 计算 FoldList

Fold[Append,{},list] 等价于 list:

可能存在的问题  (1)

没有种子就不能折叠空列表:

然而,FoldList 的操作是被明确定义的:

巧妙范例  (3)

基本递归函数的显示形式 r[z,r[s,r[s,r[s,p[2]]]]] [更多信息]:

产生一个集合的所有子集:

求数字列表中任意元素组合的和:

第四斯维讷通-戴尔(SwinnertonDyer)多项式 [更多信息]:

Wolfram Research (1991),Fold,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Fold.html (更新于 2016 年).

文本

Wolfram Research (1991),Fold,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Fold.html (更新于 2016 年).

CMS

Wolfram 语言. 1991. "Fold." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2016. https://reference.wolfram.com/language/ref/Fold.html.

APA

Wolfram 语言. (1991). Fold. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Fold.html 年

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_fold, organization={Wolfram Research}, title={Fold}, year={2016}, url={https://reference.wolfram.com/language/ref/Fold.html}, note=[Accessed: 22-November-2024 ]}