FirstPosition

FirstPosition[expr,pattern]

给出 expr 中匹配 pattern 的第一个元素的位置,如果无法找到这样的元素,则给出 Missing["NotFound"].

FirstPosition[expr,pattern,default]

如果无法找到与 pattern 匹配的元素,给出 default.

FirstPosition[expr,pattern,default,levelspec]

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

FirstPosition[pattern]

表示 FirstPosition 的运算符形式,可以应用到表达式.

更多信息和选项

  • FirstPosition[expr,pattern,default] 中,仅在无法找到匹配 pattern 的元素时运算 default.
  • 表达式 expr 可以是列表、关联或任何其他类型的表达式. 如果是关联的话,FirstPosition 会给出键值.
  • FirstPosition 默认的层规范是 {0,Infinity},且 Heads->True.
  • FirstPosition 返回的部分规范 {} 表示 expr 的全部.
  • FirstPosition[list,pattern,{1},Heads->False] 仅能查找 list 中作为完整元素出现的对象的位置.
  • FirstPosition 使用标准层规范:
  • n1n
    Infinity1Infinity
    {n}仅层 n
    {n1,n2}n1n2
  • 正层 nn 个指标指定的 expr 的所有部分组成.
  • 负层 -n 由深度为 nexpr 的所有部分组成.
  • 0 对应于整个表达式.
  • 在默认选项设置 Heads->True 下,FirstPosition 查看的是表达式的头部和它们的部分.
  • FirstPosition 按照深度优先的顺序遍历表达式.
  • FirstPosition[pattern][expr] 等价于 FirstPosition[expr,pattern].

范例

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

基本范例  (3)

b 出现的第一个位置:

x 的任意次幂出现的第一个位置:

Association 中的第一个位置:

范围  (4)

使用位置运算符:

求第一个素数的位置:

指定自定义的默认值:

在所有位置寻找3:

只寻找作为最外层列表中的元素出现的3:

选项  (1)

Heads  (1)

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

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

属性和关系  (3)

默认值只在需要时计算:

基于 FirstPosition 的结果,使用 Extract 提取部分:

FirstPosition 仅返回第一个位置:

Position 返回所有位置:

FirstPosition 可以被 PositionReplace 组合起来实现:

可能存在的问题  (1)

FirstPosition 基于模式搜索,这可能与数值相等不同:

利用 Condition 写一个模式,强制搜索基于数值相等:

Wolfram Research (2014),FirstPosition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FirstPosition.html.

文本

Wolfram Research (2014),FirstPosition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FirstPosition.html.

CMS

Wolfram 语言. 2014. "FirstPosition." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/FirstPosition.html.

APA

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

BibTeX

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

BibLaTeX

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