Mathematica 9 is now available

Documentation / Mathematica / Mathematicaブック / Mathematicaの仕組み / リストの操作 /

2.4.3 ネストしたリスト

ネストしたリストの構築方法

これはのネストしたリストに対応する表を生成する.

In[1]:= Table[x^i + j, {i, 2}, {j, 3}]

Out[1]=

これは上記と同じネストしたリストに対応する配列を生成する.

In[2]:= Array[x^#1 + #2 &, {2, 3}]

Out[2]=

疎な配列において明示的に指定されていない要素は0であると解釈される.

In[3]:= Normal[SparseArray[{{1, 3} -> 3 + x}, {2, 3}]]

Out[3]=

最終リストの各要素は各入力リストからの1要素を含む.

In[4]:= Outer[f, {a, b}, {c, d}]

Out[4]=

ArraySparseArrayOuter等の関数は常に「完全配列」を生成する.完全配列では,特定レベルのすべてのサブリストがすべて同じ長さになる.

完全配列の関数

Mathematicaは任意のネストしたリストを扱うことができる.リストが完全配列である必要はない.Tableを使って簡単に不調和配列を生成することができる.

これは三角配列を生成する.

In[5]:= Table[x^i + j, {i, 3}, {j, i}]

Out[5]=

サブリストの平坦化

これはの配列を生成する.

In[6]:= Array[a, {2, 3}]

Out[6]=

Flattenは事実上要素をその指標によって辞書式順序に並べる.

In[7]:= Flatten[%]

Out[7]=

ネストしたリストにおけるレベルの置き換え

配列を生成する.

In[8]:= Array[a, {2, 2, 2}]

Out[8]=

レベル3がレベル1に現れるようにレベルを置換する.

In[9]:= Transpose[%, {3, 1, 2}]

Out[9]=

これで最初の配列を回復する.

In[10]:= Transpose[%, {2, 3, 1}]

Out[10]=

ネストしたリストに関数を適用する

これはネストしたリストである.

In[11]:= m = {{{a, b}, {c, d}}, {{e, f}, {g, h}, {i}}};

レベル3に関数fを写像する.

In[12]:= Map[f, m, {2}]

Out[12]=

レベル2に関数を適用する.

In[13]:= Apply[f, m, {2}]

Out[13]=

fを部分とその指標の両方に適用する.

In[14]:= MapIndexed[f, m, {2}]

Out[14]=

ネストしたリストの操作

これはネストしたリストである.

In[15]:= m = {{{a, b, c}, {d, e}}, {{f, g}, {h}, {i}}};

碓レベルで異なった量を循環させる.

In[16]:= RotateLeft[m, {0, 1, -1}]

Out[16]=

配列を作るために零で充填する.

In[17]:= PadRight[%, {2, 3, 3}]

Out[17]=



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.