Wolfram ResearchPRODUCTSPURCHASEFOR USERSCOMPANYOUR SITES
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.

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


 © 2009 Wolfram Research, Inc.  Terms of Use  Privacy Policy |
Sign up for our newsletter: