Cases

Cases[{e1,e2,},pattern]

给出了匹配模式的 ei 的列表.

Cases[{e1,},patternrhs]

给出了相对应于匹配这个模式的 eirhs 值的列表.

Cases[expr,pattern,levelspec]

在由匹配模式的 levelspec 指定的层上给出了 expr 所有部分的列表.

Cases[expr,patternrhs,levelspec]

给出了匹配模式的 rhs 的值.

Cases[expr,pattern,levelspec,n]

给出了匹配模式的 expr 中的前 n 个部分.

Cases[pattern]

表示可以应用于表达式的 Cases 的运算符形式.

更多信息和选项

  • 对于 Cases 的第一个参数不需要有头部 List.
  • 当用在 Association 上时,Cases 根据它们的值选取元素.
  • Cases[expr,pattern:>rhs] 仅当模式给出时计算 rhs.
  • Cases[pattern][list] 等价于 Cases[list,pattern].
  • Cases 使用标准的层次分类:
  • n1n
    Infinity1Infinity
    {n}仅第 n
    {n1,n2}n1n2
  • levelspecCases 中的缺省值是 {1}.
  • 正层 nn 个指针指定的 expr 的所有部分组成.
  • 负层 -n 由深度为 nexpr 的所有部分组成.
  • -1 包含数字、符号和其它没有子部分的对象.
  • 0 对应于整个表达式.
  • 选项设置为 Heads->True 时,Cases 查看表达式的头部及其部分.
  • Cases 按深度第一的顺序遍历 expr 的各部分,叶子先于根被访问.
  • Parallelize[Cases[expr,pattern]] 在所有子核上并行计算 Cases[expr,pattern]. »

范例

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

基本范例  (4)

给出显式匹配整数的情况:

给出不匹配整数的情况:

从每一个匹配的 f[x_] 内部返回 x

使用 Cases 运算符形式:

Association 选取元素:

范围  (10)

给出所有包含两个元素的列表:

求每对元素的和:

挑选出不是 0 的元素:

挑选出直到第 2 层的整数的情况:

只返回前三个匹配的元素:

仅当显式元素被求出后,用 :> 计算:

求任意层上的所有可能的子表达式:

求任意层上的所有可能的子表达式,包括表达式的头部:

从嵌套关联中选取元素:

从与 Association 匹配的一个 List 中选取元素:

求各匹配 Association 的键:

从列表中的各关联中选取键对:

求有符合条件的键的关联:

选项  (1)

Heads  (1)

求表达式的元素中的符号:

在搜索中也包含表达式的头部:

属性和关系  (2)

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

并行计算 Cases

可能存在的问题  (1)

一个规则将匹配元素转化为它的右端:

使用 HoldPattern 将规则本身视为模式处理:

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

文本

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_2024_cases, author="Wolfram Research", title="{Cases}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Cases.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

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