Position

Position[expr,pattern]
expr に現れるパターン pattern にマッチするオブジェクトの位置のリストを与える.

Position[expr,pattern,levelspec]
levelspec によって指定されたレベルに現れるオブジェクトのみを求める.

Position[expr,pattern,levelspec,n]
パターン pattern にマッチする最初の n 個のオブジェクトのみを求める.

Position[pattern]
式に適用可能なPositionの演算子形である.

詳細とオプション詳細とオプション

  • Position[expr,pattern]は,expr の下位区分をすべて順に試行し,pattern にマッチするものを求める.
  • Positionは,位置のリストをExtractReplacePartあるいはMapAtで使用されるのに適した形式で返す.この形式はPartで使われるのと異なる.
  • Positionは,expr にあるAssociationオブジェクト中の値にマッチするもののみを求める.これは,Associationオブジェクト中の任意の部分指定をKey[k]の形で返す.
  • Positionのデフォルトレベルの指定は,Heads->Trueとする{0,Infinity}である.
  • Positionによって返される部分の指定は,式 expr 全体を表す.
  • Position[list,pattern,{1},Heads->False]は,list の完全な要素として現れるオブジェクトに限定して位置を求める.
  • Positionは標準的なレベル指定を使う.
  • nレベル からレベル n まで
    Infinityレベル からInfinityまで
    {n}レベル n のみ
    {n1,n2}レベル からレベル まで
  • 正のレベル n は,n 個の指標で指定される expr のすべての部分からなる.
  • 負のレベル-n は,深さ nexpr のすべての部分からなる.
  • レベルは式全体に相当する.
  • デフォルトのオプション設定Heads->Trueでは,Positionは式の頭部とその部分を含む.
  • Positionは深さを優先した順序で式に働き,辞書的な順序の指標のリストを返す.
  • Position[pattern][expr]Position[expr,pattern]に等しい.

例題例題すべて開くすべて閉じる

  (4)  (4)

の位置を求める:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=

のベキ乗が現れる位置すべてを求める:

In[1]:=
Click for copyable input
Out[1]=

レベル2までの位置のみを求める:

In[2]:=
Click for copyable input
Out[2]=

Association中の位置を求める:

In[1]:=
Click for copyable input
Out[1]=

素数値を持つ位置を求める:

In[1]:=
Click for copyable input
Out[1]=
1988年に導入
(1.0)
| 2014年に修正
(10.0)