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 使用标准层规范:
-
n 层 1 至 n Infinity 层 1 至 Infinity {n} 仅层 n {n1,n2} 层 n1 至 n2 - 正层 n 由 n 个指标指定的 expr 的所有部分组成.
- 负层 -n 由深度为 n 的 expr 的所有部分组成.
- 层 0 对应于整个表达式.
- 在默认选项设置 Heads->True 下,FirstPosition 查看的是表达式的头部和它们的部分.
- FirstPosition 按照深度优先的顺序遍历表达式.
- FirstPosition[pattern][expr] 等价于 FirstPosition[expr,pattern].
范例
打开所有单元关闭所有单元基本范例 (3)
选项 (1)
Heads (1)
默认情况下,FirstPosition 将搜索表达式的头部:
属性和关系 (3)
基于 FirstPosition 的结果,使用 Extract 提取部分:
FirstPosition 仅返回第一个位置:
Position 返回所有位置:
FirstPosition 可以被 Position 和 Replace 组合起来实现:
可能存在的问题 (1)
FirstPosition 基于模式搜索,这可能与数值相等不同:
利用 Condition 写一个模式,强制搜索基于数值相等:
文本
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 年