WOLFRAM言語チュートリアル

式の部分抽出

リストが単に式の一形態であることはすでに説明した通りだが,その逆に,一般的な式もリストと同様に使えたとしても驚かないだろう.リストの各成分を個別に参照できるように,一般的な式の部分もまた個別に参照することができる.

こうすると,リストから第2要素を1つだけ取り出すことができる.
In[1]:=
Click for copyable input
Out[1]=
加算式から第2要素を取り出すのにも同じ方法が使える.
In[2]:=
Click for copyable input
Out[2]=
マイナスを指定値に付けると末尾から数えた位置を指定することができる.ここでは最後尾の要素が抽出される.
In[3]:=
Click for copyable input
Out[3]=
要素は頭部である.
In[4]:=
Click for copyable input
Out[4]=

ネストしたリストの部分抽出を行うときと同じ方法で,等の一般式からある部分を抽出することができる.

部分が抽出される.
In[5]:=
Click for copyable input
Out[5]=
番の部分が抽出される.
In[6]:=
Click for copyable input
Out[6]=
番の部分が抽出される.
In[7]:=
Click for copyable input
Out[7]=
完全形で式を表示させ,番の部分が何か確認する.
In[8]:=
Click for copyable input
Out[8]//FullForm=

添数の式の部分への割当ては,FullFormによるWolfram言語内部の表記形に従って行われる.これらの表記形は,必ずしも表示に現れる順番に対応しない.このことは,標準内部表記が使われるが,特別な形で表示される代数式に対して特に当てはまる.

の内部表記形を見てみる.
In[9]:=
Click for copyable input
Out[9]//FullForm=
部分指定は,内部表記形に従い解釈される.
In[10]:=
Click for copyable input
Out[10]=

リストの部分と同じように式の部分を操作することができる.

の第3部分をに置き換える.和の構成順が自動調整されることに注意.
In[11]:=
Click for copyable input
Out[11]=
別の式を入力する.
In[12]:=
Click for copyable input
Out[12]=
の完全形で見てみる.
In[13]:=
Click for copyable input
Out[13]//FullForm=
の一部分を変更する.
In[14]:=
Click for copyable input
Out[14]=
の表記形が変わったかどうかを確認する.
In[15]:=
Click for copyable input
Out[15]=
Part[expr,n] またはexpr[[n]]expr の第 部分を抽出する
Part[expr,{n1,n2,}] または expr[[{n1,n2,}]]
複数部分の抽出
Part[expr,n1;;n2]式の部分 から
ReplacePart[expr,n->elem]expr の第 要素を elem で置換する

式の部分操作を行う関数

「リスト要素の操作」において,添数のリストを作り,それをもとにリストから複数の要素を一括抽出する方法を説明した.それと全く同じやり方で,一般式の複数の部分も一括抽出することができる.

リストから第2,第4の要素を抽出する.抽出した要素は新たなリストとして返される.
In[16]:=
Click for copyable input
Out[16]=
加法式から第2,第4部分を抽出する.結果は抽出した要素の和sum として返される.
In[17]:=
Click for copyable input
Out[17]=

ある式のある部分は,別のある関数の引数として見ることができる.添数のリストを与えることで複数の部分を抽出するとき,抽出される部分は,抽出元の関数によりまとめられる.

リストの部分2から4までを選ぶ.
In[18]:=
Click for copyable input
Out[18]=