Position
更多信息和选项
- Position[expr,pattern] 按顺序测试所有 expr 的子集,尽可能找到匹配 pattern 的一个对象.
- Position 返回一个位置列表,它所采用的形式适用于 Extract、ReplacePart 和 MapAt. 这个返回形式和在 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]. »
范例
打开所有单元 关闭所有单元基本范例 (3)
Position[{a, b, a, a, b, c, b}, b]Position[{{a, a, b}, {b, a, a}, {a, b, a}}, b]Position[{1 + x ^ 2, 5, x ^ 4, a + (1 + x ^ 2) ^ 2}, x ^ _]Position[{1 + x ^ 2, 5, x ^ 4, a + (1 + x ^ 2) ^ 2}, x ^ _, 2]Position[<|"a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4|>, _Integer ? PrimeQ]范围 (5)
Position[{a, b, a, a, b, c, b, a, b}, b, 1, 2]op = Position[_Integer]op[{1, 1, f[a], 2, 3, y, f[8], 9, f[10]}]Position[{{a, 2}, {3, d}}, _Symbol, {2}, Heads -> False]若不使用 HeadsFalse,则每一行中 List 标头的位置也会被返回:
Position[{{a, 2}, {3, d}}, _Symbol, {2}]Extract[{{a, 2}, {3, d}}, %]查找 Association 中的位置:
Position[<|{1 -> 1 + x ^ 2, 2 -> <|"a" -> x ^ 2|>, 3 -> x ^ 4, 4 -> a + (1 + x ^ 2) ^ 2}|>, x ^ _]Position 适用于任意标头:
Position[f[a, b, b, a], b]选项 (1)
属性和关系 (6)
用 Extract 根据 Position 的结果提取元素:
u = {1 + x^2, 5, x^4, a + (1 + x^2)^2};Position[u, x ^ _]Extract[u, %]Position[expr,expr] 返回 {{}},这是一个包含位置 {} 的列表,意思是整个表达式:
Position[x, x]Position[x, y]Position[f[g[h[x]]], _, Infinity]Position 不会匹配关联的键:
Position[<|"a" -> {1, b}|>, "a"]Position[<|"a" -> {1, b}|>, _]Position[p][e] 等价于 Position[e,p]:
Position[_][{a, b}] === Position[{a, b}, _]Length[Position[{1, "f", g, "h", "7"}, _ ? StringQ]]Count[{1, "f", g, "h", "7"}, _ ? StringQ]技术笔记
-
▪
- 检测和搜索列表元素 ▪
- 表达式的层次结构 ▪
- 函数作用于表达式的部分项 ▪
- 寻找与模式匹配的表达式
历史
1988年引入 (1.0) | 在以下年份被更新:2014 (10.0)
文本
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_2026_position, author="Wolfram Research", title="{Position}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Position.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_position, organization={Wolfram Research}, title={Position}, year={2014}, url={https://reference.wolfram.com/language/ref/Position.html}, note=[Accessed: 03-November-2026]}