Position

Position[expr,pattern]

给出在 expr 中匹配 pattern 的对象的位置列表.

Position[expr,pattern,levelspec]

仅查找出现在由 levspec 指定的层的对象.

Position[expr,pattern,levelspec,n]

给出找到的前 n 个对象的位置.

Position[pattern]

表示可以应用于表达式的 Position 的操作符格式.

更多信息和选项

  • Position[expr,pattern] 按顺序测试所有 expr 的子集,尽可能找到匹配 pattern 的一个对象.
  • Position 返回一个位置列表,它所采用的形式适用于 ExtractReplacePartMapAt. 这个返回形式和在 Part 中使用的形式不同.
  • Position 只查找 expr 中出现的 Association 对象中的数值相匹配的数值. 它返回格式为 Key[k]Association 对象中的任意部分指定.
  • Position 的缺省层次指定是 {0,Infinity},其中 Heads->True.
  • 一个由 Position 返回的部分指定 {} 表示整个 expr.
  • Position[list,pattern,{1},Heads->False] 仅查找作为 list 的完整元素出现的对象的位置.
  • Position 使用标准的层次分类:
  • n从第 1层到第 n
    Infinity从第 1层到 Infinity
    {n}仅在第 n
    {n1,n2}从第 n1 层到第 n2
  • 正层的 n 由指标 n 指定的 expr 所有部分组成.
  • 负层的-n 由带有深度 n expr 所有部分组成.
  • 0 对应于整个表达式.
  • 在默认选项设置 Heads->True 下,Position 也作用于表达式的头部和其它部分.
  • Position 按深度优先的顺序访问表达式,并按词典顺序产生指标列表.
  • Position[pattern][expr] 等价于 Position[expr,pattern].

范例

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

基本范例  (4)

求出 b 出现的位置:

求出所有 x 上出现幂的位置:

仅向下找到第 2 层:

Association 中的位置:

求具有质数值的位置:

范围  (2)

求出第 1 层内前 2 个 b 的位置:

深度优先的顺序首先给出较长的指标列表:

推广和延伸  (1)

Position 对任何头部起作用,不仅仅是 List

选项  (1)

Heads  (1)

默认情况下,Position 将搜索表达式头部:

使用选项 Heads->False 排除它们:

属性和关系  (2)

Extract 提取基于 Position 结果的子集:

Count 返回由 Position 给出的结果的长度:

可能存在的问题  (1)

Position 基于模式查找匹配,它可能与数值相等性不同:

使用 Condition 编写模式,以强制基于数值相等进行搜索:

Wolfram Research (1988),Position,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Position.html (更新于 2014 年).

文本

Wolfram Research (1988),Position,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Position.html (更新于 2014 年).

CMS

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

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_position, organization={Wolfram Research}, title={Position}, year={2014}, url={https://reference.wolfram.com/language/ref/Position.html}, note=[Accessed: 17-November-2024 ]}