Cases
更多信息和选项
- 对于 Cases 的第一个参数不需要有头部 List.
- 当用在 Association 上时,Cases 根据它们的值选取元素.
- Cases[expr,pattern:>rhs] 仅当模式给出时计算 rhs.
- Cases[pattern][list] 等价于 Cases[list,pattern].
- Cases 使用标准的层次分类:
-
n 第 1 到 n 层 Infinity 第 1 到 Infinity 层 {n} 仅第 n 层 {n1,n2} 第 n1 到 n2 层 - levelspec 在 Cases 中的缺省值是 {1}.
- 正层 n 由 n 个指针指定的 expr 的所有部分组成.
- 负层 -n 由深度为 n 的 expr 的所有部分组成.
- 层 -1 包含数字、符号和其它没有子部分的对象.
- 层 0 对应于整个表达式.
- 选项设置为 Heads->True 时,Cases 查看表达式的头部及其部分.
- Cases 按深度第一的顺序遍历 expr 的各部分,叶子先于根被访问.
- Parallelize[Cases[expr,pattern]] 或 ParallelCases[expr,pattern] 在所有子核上并行计算 Cases[expr,pattern]. »
范例
打开所有单元 关闭所有单元基本范例 (4)
Cases[{1, 1, f[a], 2, 3, y, f[8], 9, f[10]}, _Integer]Cases[{1, 1, f[a], 2, 3, y, f[8], 9, f[10]}, Except[_Integer]]Cases[{1, 1, f[a], 2, 3, y, f[8], 9, f[10]}, f[x_] -> x]使用 Cases 运算符形式:
Cases[_Integer][{1, 1, f[a], 2, 3, y, f[8], 9, f[10]}]从 Association 选取元素:
Cases[<|1 -> "a", 2 -> "b", 3 -> c, 4 -> d|>, _Symbol]范围 (10)
Cases[{{1, 2}, {2}, {3, 4, 1}, {5, 4}, {3, 3}}, {_, _}]Cases[{{1, 2}, {2}, {3, 4, 1}, {5, 4}, {3, 3}}, {a_, b_} -> a + b]Cases[{1, 0, 2, 0, 3, 5, 6, 7, 0, 0, 0}, Except[0]]Cases[{{1, 4, a, 0}, {b, 3, 2, 2}, {c, c, 5, 5}}, _Integer, 2]Cases[Sqrt[Range[100]], _Integer, {1}, 3]Cases[{f[{a, b}], f[{a}], g[{a}], f[{a, b, c, d}]}, f[x_] :> Length[x]]Cases[{1, 2, f[a, b]}, _, {0, Infinity}]Cases[{1, 2, f[a, b]}, _, {0, Infinity}, Heads -> True]Cases[<|1 -> c, 2 -> <|3 -> 1, a -> b|>|>, _Symbol, Infinity]从与 Association 匹配的一个 List 中选取元素:
Cases[{<|a -> 1|>, <|b -> 2|>}, <|a -> _|>]求各匹配 Association 的键:
Cases[{<|a -> 1|>, <|b -> 2|>, <|c -> 1|>}, <|x_ -> 1|> -> x]Cases[{<|x -> 1, z -> 1|>, <|x -> 1, y -> 2|>}, <|a_ -> _, b_ -> _|> :> {a, b}]Cases[{<|1 -> x|>, <|2 -> x|>}, <|a_ /; EvenQ[a] -> _|>]Cases[{<|1 -> x|>, <|2 -> x|>}, <|a_ -> _|> /; EvenQ[a]]选项 (1)
属性和关系 (2)
可能存在的问题 (1)
Cases[{1, b -> Automatic, c -> 3}, _ -> Automatic]使用 HoldPattern 将规则本身视为模式处理:
Cases[{1, b -> Automatic, c -> 3}, HoldPattern[_ -> Automatic]]技术笔记
相关的工作流程
- 从笔记本中导入表格数据
历史
1988年引入 (1.0) | 在以下年份被更新:2003 (5.0) ▪ 2014 (10.0)
文本
Wolfram Research (1988),Cases,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Cases.html (更新于 2014 年).
CMS
Wolfram 语言. 1988. "Cases." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2014. https://reference.wolfram.com/language/ref/Cases.html.
APA
Wolfram 语言. (1988). Cases. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Cases.html 年
BibTeX
@misc{reference.wolfram_2026_cases, author="Wolfram Research", title="{Cases}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Cases.html}", note=[Accessed: 12-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_cases, organization={Wolfram Research}, title={Cases}, year={2014}, url={https://reference.wolfram.com/language/ref/Cases.html}, note=[Accessed: 12-September-2026]}