List
{e1,e2,…}
要素のリストである.
詳細
- リストは,式のまとまりを表す極めて一般的なオブジェクトである.
- 属性がListableである関数は,リストに自動的に「縫い込まれ」,リストの要素に個別に機能する.ほとんどの組込み数学関数はListableである.
- {a,b,c}は,ベクトルを表す.
- {{a,b},{c,d}}は,行列を表す.
- ネストしたリストは,テンソルを表すのに使用することができる.
- リストにNothingが出現した場合は,自動的に削除される.
- Parallelize[{e1,e2,…}]は要素 e1, e2, …を並列に計算する. »
予備知識
- Listは,式の集合を表すのに使われる非常に一般的な構文である.任意の長さあるいは深さのリストが可能である.式List[a,b,c,…]は,短縮形{a,b,c,…}を使って書いたり表示されたりすることが多い.リストは,明示的なベクトル,行列,テンソル等のオブジェクトを定義せずに,リストを使って(ネストさせることもある)そのような構造を表すWolfram言語において特に重要である.例えば,{a,b,c,…}はベクトルを,{{a,b},{c,d}}は行列を表すことができる.
- 属性Listableを持つ関数は,自動的にリスト上に「縫い込まれ」る.つまり,関数はそれぞれのリスト要素に別々に働く.組込みの数学関数の大部分は,Listableである.
- Mapが関数をList(あるいはその他の任意の式)の第1レベルにある要素に適用するのに対して,Applyは,List(あるいはその他の任意式)の頭部を新しい頭部で置き換える.
- SparseArrayを使って,一定(0であることが多い)の「背景」値を持つリスト(あるいはネストしたリスト)を効率的に表現したり計算したりすることができる.SparseArrayはNormalを使って,完全な次元のListに拡張することができる.
- リストの値は,Setを使って,例えば list[[k]]=newValue のように,効率的に変更できる.リストの要素にアクセスしたり,要素を挿入,削除したりするためによく使われる操作には,Part,Take,Drop,Extract,Insert,Delete,PadLeft/PadRight,Append/AppendTo,Prepend/PrependToが含まれる.
- 値の平坦なリスト(つまりベクトル)は,ListPlotを使ってプロットすることができ,リストの矩形リストによって与えられる値の配列は,ArrayPlot,MatrixPlot,ListDensityPlot,あるいはその他の関連関数を使ってプロットできる.リストによく適用される,その他の重要で便利な関数には,Total,Accumulate,Mean,ListConvolveが含まれる.
- Associationは,記号的な指標を付けられたリスト,連想配列,辞書,ハッシュマップ,構文,およびその他のさまざまな強力なデータ構造を一般化したものを提供する.Association(連想)は,キーを値に連想付け,高度に効率的な検索を可能にし,何百万の要素でも更新できることから名付けられた.
- リストは,Sequenceをそれに適用することで,式の配列に変換することができる.このことは特に,Wolfram言語の関数が引数リストの代りに,引数の平坦な列を取ることが多いために,Sequenceがリストで表現されたデータを簡単に別の関数に結合させることができるという点において便利である.
例題
すべて開くすべて閉じるスコープ (31)
ベクトル,行列,その他の配列の表記 (4)
リストの構築 (5)
リスト可能な関数 (4)
リスト要素の操作 (5)
リストの結合 (4)
有限集合としてのリスト (2)
規則のリスト (2)
結果の値をReplaceAllで使うことができる:
ReplaceAllで規則のリストのリストが使われると,結果のリストが返される:
解が1つしかない場合でも,一貫性のある構造のために余分なListが使われる:
データのリスト (3)
特性と関係 (6)
他のすべてのWolfram言語の式と同じように,リストは1から始まる:
InputFormを含むほとんどの形式タイプでは,リストは{…}と表示される:
FullFormはリストを他の式と同じように扱い,List[…]として表す:
以下のようにするとリストの頭部がListであることは明らかになる:
Sequenceは自動的にリストにスプライスされる:
次は,Sequenceの一般的な動作の特定の場合である:
Nothingは自動的にリストから削除される:
SparseArrayはリストを表す:
両者は等しい(Equal):
Parallelize[list]は list の要素を並列に計算する:
テキスト
Wolfram Research (1988), List, Wolfram言語関数, https://reference.wolfram.com/language/ref/List.html (2014年に更新).
CMS
Wolfram Language. 1988. "List." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/List.html.
APA
Wolfram Language. (1988). List. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/List.html