Extract

Extract[expr,pos]

pos 指定的位置提取 expr 的部分.

Extract[expr,{pos1,pos2,}]

提取 expr 各部分的列表.

Extract[expr,pos,h]

提取 expr 的各部分,在求值前用标头 h 封装每个部分.

Extract[pos]

表示 Extract 的操作符,可用于表达式.

更多信息

  • 对于整数 i, j, Extract[expr,{i,j,}] 等价于 Part[expr,i,j,]. »
  • Extract 使用的位置指定与 Position 返回的那些形式相同,可用于 MapAtReplacePart 一类的函数中. »
  • 单个位置规约 pos 也可以是更一般的通式 {part1,part2,},其中 partiPart 规约,例如 i, AllSpan[]. »
  • 提取一个层上多个部分的指定将保留该层的标头. »
  • 您可以使用 Extract[expr,,Hold] 不通过求值来提取各个部分. »
  • exprSparseArray 对象或结构化数组,则 Extract[expr,] 提取对应普通数组中的部分. »
  • Extract 作用于 Association 对象,使用与 Part 中的键值相同的指定. »
  • Extract[pos][expr] 等价于 Extract[expr,pos].

范例

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

基本范例  (5)

从一个表达式中提取第二部分:

使用运算符形式执行此操作:

提取嵌套在一个表达式中的部分:

从表达式中提取多个嵌套部分:

提取矩阵的第二列:

提取 Position 给定的部分:

范围  (25)

比较单一位置和多个位置  (5)

从列表中提取单个元素:

从列表中提取几个元素:

提取矩阵中 {1,3} 部分:

提取矩阵的第一部分和第三部分(行):

从矩阵中提取一个长度为一的位置列表:

提取矩阵的多个元素:

提取规则的右侧并将结果封装在 Hold 中以阻止计算:

从列表中提取多个部分,并将每个部分包装在 Hold 中:

包括所有的格式  (5)

提取矩阵的第二行:

等价于:

提取矩阵的第二列:

将第一列和第三列提取为 子矩阵:

分别提取第一列和第三列,有效创建一个 矩阵:

从规则列表中的每个列表中提取第一条规则:

从第二个列表中的所有规则中提取右侧:

从一列列表的所有规则中提取左侧:

使用 All 提取保留该层的头部:

提取列表的所有右侧规则,避免使用 Hold 求值::

没有 Hold 的情况下,该表达式将进行计算并产生其他反应:

分别提取规则列表中的两侧,将两个结果封装在 HoldComplete 中:

关联关系  (6)

通过键提取关联中的部分:

若键为字符串,则 Key 封装器为可选:

通过键提取关联中的部分:

根据位置提取关联中的部分:

通过键提取关联中的多个部分:

提取关联中的嵌套部分:

提取关联中的多个嵌套部分:

在不进行计算的情况下提取关联中的多个值:

在没有 Hold 的情况下,关联中的值将进行计算并生成消息:

特殊数组类型  (3)

expr 为稀疏数组,则 Extract[expr,] 提取相应普通数组中的部分:

子数组作为 SparseArray 对象返回:

将第一列和第三列提取为单个稀疏数组:

转换为普通数组:

提取为两个单独的列会返回一个稀疏数组列表:

转换为普通数组显示结果是第一次提取的转置:

从结构化数组中提取相应普通数组中的部分:

如果可能的话,另一个结构化数组作为结果返回:

空间和子列表  (6)

提取列表的第三个到第五个元素:

提取奇数位置的元素:

从一个保留头部的一般表达式中提取空间跨度:

从每个列表中提取前两个元素:

从每个列表中提取第一个和最后一个元素:

提取第二行到第四行的第一个元素:

提取第一、三、四行的第二个元素:

提取最后两行的第一个、第二个和第五个元素:

提取第一列和第五列:

提取列表中前两条规则的右侧并停止计算:

属性和关系  (6)

pos 不是列表,则 pos{pos} 为等价规约:

对于一列整数 {i,j,}Extract[expr,{i,j,}] 等价于 Part[expr,i,j,]

Extract[expr,{{i1,i2,},{j1,j2,},}] 等价于 {Part[expr,i1,i2,],Part[expr,j1,j2,],}

可扩展到空列表:

ExtractPosition 的逆:

Extract[expr,{pos1,pos2,},h] 中,h 封装每个 posi 的提取结果:

如果只给出一个位置规约,h 将是最外层的头部:

在一层提取多个部分的规约会将头部保留在该层:

可能存在的问题  (2)

Extract[expr,{}] 返回子表达式的空字符串,因为位置列表是空的:

Extract[expr,{{}}] 提取位置 {} 处的子表达式,为整个表达式:

第二个参数中的一列列表始终解释为位置规约列表:

因此,在 Part 中等效的规范可能会被 Extract 区别对待:

如果需要 PartExtract 保持一致,请使用一列列表并在末尾删除额外的列表:

Wolfram Research (1996),Extract,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Extract.html (更新于 2021 年).

文本

Wolfram Research (1996),Extract,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Extract.html (更新于 2021 年).

CMS

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

APA

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

BibTeX

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

BibLaTeX

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