寻找与模式匹配的表达式

Cases[list,form]给出与 form 匹配的 list 中的元素
Count[list,form]给出与 form 匹配的 list 中元素的个数
Position[list,form,{1}]给出与 form 匹配的 list 中的元素的位置
Select[list,test]给出使 test 的值为 Truelist 中的元素
Pick[list,sel,form]给出使 sel 的相应元素与 form 匹配的 list 中的元素

寻找与模式匹配元素.

给出与模式 匹配的 list 中的元素.
In[1]:=
Click for copyable input
Out[1]=
此处给出了与模式匹配的元素的总数.
In[2]:=
Click for copyable input
Out[2]=

Cases 这样的函数不仅可以用于列表,而且可以用于任何表达式,可以指定项所在的层.

Cases[expr,lhs->rhs]expr 中寻找与 lhs 匹配的元素,并对其进行变换
Cases[expr,lhs->rhs,lev]测试指定层 lev 上表达式 expr 的项
Count[expr,form,lev]给出指定层 lev 上与模式 form 匹配的项数
Position[expr,form,lev]给出指定层 lev 上与模式 form 匹配的项的位置

寻找与模式相匹配的表达式的项.

输出指数 的集合.
In[3]:=
Click for copyable input
Out[3]=
模式 可与任何整数匹配. 此处给出了各个层中出现的整数.
In[4]:=
Click for copyable input
Out[4]=
Cases[expr,form,lev,n]给出与模式 form 匹配的前 n
Position[expr,form,lev,n]给出与 form 匹配的前 n 项的位置

限制所寻找项的数目.

给出任何层上出现的 的前2个幂的位置.
In[5]:=
Click for copyable input
Out[5]=
精确地给出位置,这用于 ExtractReplacePart 等函数(见 "列表").
In[6]:=
Click for copyable input
Out[6]=
DeleteCases[expr,form]删除表达式 expr 中与 form 匹配的元素
DeleteCases[expr,form,lev]删除表达式 expr 的指定层 lev 中与 form 匹配的项

删除表达式中与模式匹配的项.

删除与 匹配的元素.
In[7]:=
Click for copyable input
Out[7]=
删除所有层中出现的整数.
In[8]:=
Click for copyable input
Out[8]=
ReplaceList[expr,lhs->rhs]寻找所有 expr 可以与 lhs 匹配的方式

在表达式中寻找与一个模式匹配的排列.

寻找能够写为两项之和的所有方式.
In[9]:=
Click for copyable input
Out[9]=
寻找所有相当的元素对. 其中,模式 表示元素的任意序列.
In[10]:=
Click for copyable input
Out[10]=
New to Mathematica? Find your learning path »
Have a question? Ask support »