Association[key1val1,key2val2,…]またはkey1val1,key2val2,…
キーと値の連想を表す.
Association 
Association[key1val1,key2val2,…]またはkey1val1,key2val2,…
キーと値の連想を表す.
詳細
- 連想 assoc 中の任意の key に関連付けられた値は assoc[key]を使って抽出することができる. »
- 連想は記号指標の付いたリストのように振る舞う.任意の key に関連付けられている値は,部分指定Key[key]を使って抽出することができる.key が文字列の場合は,Keyを省略することができる. »
- assoc 中に key がない場合,assoc[key]はMissing["KeyAbsent",key]を返す. »
- assoc が連想中に値があるシンボルなら,assoc[key]=val を使って key と val の連想を関連付けたり再設定したりできる. »
- Map,Select,Sort等のよく使われるリスト操作は,連想中の値に適用され,キーは変更されずに残る. »
- Association[{key1val1,…}]は<|key1val1,…|>を与える. »
- 同じキーを持つ複数の要素がある場合,これらの要素の最後のものを除くすべてが削除される.Mergeは,代りに繰り返されるキーの値のリストを与える.
- 連想は,\[LeftAssociation]および\[RightAssociation]の記号を使って入力することができる.この記号は,順に
<|
および
|>
を使って入力できる. - NormalはAssociationオブジェクトを規則のリストに変換する. »
- KeyValuePatternを使って特定の要素を含む連想のためのパターンを表すことができる. »
例題
すべて開く すべて閉じる例 (4)
キーaが値xに,キーbが値yに,という具合に関連付けられている連想:
<|a -> x, b -> y, c -> z|>%[b]Association[{a -> x, b -> y, c -> z}]assoc = <|a -> x, b -> y, c -> z|>assoc[b] = wassoc遅延規則を使うことで,連想の構築中の値の評価を防ぐことができる:
<|a -> 1 + 1, b -> 2 + 2, c :> 3 + 3, d :> 4 + 4|>%[c]スコープ (17)
構築と抽出 (9)
Keys[<|{2, 3} -> x, RGBColor[0.95, 0.43, 0.96] -> y, <|a -> 1, b -> 2|> -> z|>]Append[<|a -> x, b -> y, c -> z|>, d -> w]assoc = Association[Table[i -> i ^ 2, {i, 10000}]];assoc[10000]//EchoTiming不在の要素はMissingで表される:
<|a -> x, b -> y, c -> z|>[d]Lookupでは,デフォルト値を与えることができる:
Lookup[<|a -> x, b -> y, c -> z|>, d, q]Partを使って連想から値を抽出する:
assoc = <|a -> x, b -> {y, z}|>;
assoc[[Key[b]]]assoc[[Key[b], 1]]Key[k]という部分指定は,値が連想である任意のレベルで使うことができる:
{5, 7, assoc}[[3, Key[b], 2]]assoc = <|3 -> a, 1 -> b, 2 -> c|>;
assoc[[3]]assoc[[Key[3]]]assoc = <|3 -> a, 1 -> b, 2 -> c|>;
assoc[[{2, 3}]]assoc[[{Key[2], Key[3]}]]assoc[[Key[{2, 3}]]]Extractを使って値を抽出する:
assoc = <|a -> 1 + 1, b -> 2 + 2, c :> 3 + 3, d :> 4 + 4|>;
Extract[assoc, Key[c]]assoc = <|a -> 1 + 1, b -> 2 + 2, c :> 3 + 3, d :> 4 + 4|>;
Extract[assoc, Key[c], Hold]Comap[{Keys, Values}, <|a -> 1, b -> 2, c -> 3|>]Transpose[%]パターンマッチング操作 (8)
MatchQ[<|a -> 1|>, <|_ -> _|>]Replace[<|a -> 1|>, <|a -> x_|> -> x]<|1 -> 2|> /. <|a_ -> b_|> :> {a, b}f[<|1 -> 2, 3 -> 4|>] /. f[<|a_ -> b_, ___|>] :> f[a, b]<|1 -> 2, 2 -> 3, 3 -> 4, 5 -> 6|> /. <|___, 3 -> b_, ___|> :> f[b]Cases[{<|1 -> x|>, <|1 -> x, 2 -> y|>, <|1 -> x, 2 -> y, 3 -> z|>}, <|_, _|>]g[<|k_ -> v_|>] := vg[<|1 -> 2|>]h[<|k_ -> <|k2_ -> v2_|>|>] := {k, k2, v2}h[<|1 -> <|2 -> 3|>|>]KeyValuePatternは,連想中の任意の要素のマッチングに使える:
MatchQ[<|a -> 1, b -> 2, c -> 3|>, KeyValuePattern[b -> 2]]KeyValuePatternは連想中の任意の位置に出現する要素をマッチする:
Replace[<|a -> 1, b -> 2, c -> 3|>, KeyValuePattern[{a -> x_, c -> y_}] :> {x, y}]特性と関係 (9)
Map[f, <|a -> 4, b -> 2, c -> 1, d -> 5|>]Sort[<|a -> 4, b -> 2, c -> 1, d -> 5|>]Select[<|a -> 4, b -> 2, c -> 1, d -> 5|>, # > 3&]Total[<|a -> 4, b -> 2, c -> 1, d -> 5|>]Valuesは,連想から値を抽出する:
Values[<|a -> x, b -> y, c -> z|>]Keysは,連想からキーを抽出する:
Keys[<|a -> x, b -> y, c -> z|>]Normalは,連想を規則のリストに変える:
Normal[<|a -> x, b -> y, c -> z|>]Positionは連想中のキーを与える:
Position[<|a -> 4, b -> 2, c -> 1, d -> 5|>, 2]<|a -> x, b -> y, c -> z|>[[Key[b]]]連想中のキーが文字列なら,これを部分として抽出するのに明示的なKeyは不要である:
<|"a" -> x, "b" -> y, "c" -> z|>[["b"]]<|a -> x, b -> y, c -> z|>[[2]]<|a -> x, a -> xp, b -> y, c -> z, c -> zp|>Join[<|a -> x, b -> y, c -> z|>, <|a -> xp, c -> zp|>]v = w = <|a -> 1, b -> 2|>v[a] = 3{v, w}<||>Length[%]考えられる問題 (2)
Associationは,構造的な関数では,2レベルではなく,1レベルとして数えられる:
Level[<|a -> x, b -> y|>, {1}]Depth[<|a -> x, b -> y|>]Level[{a -> x, b -> y}, {1}]Depth[{a -> x, b -> y}]ReplacePart[<|"x" -> 1, "y" -> 2|>, {0} -> List]Normal[<|"x" -> 1, "y" -> 2|>]関連するガイド
関連するワークフロー
- データをインポートする ▪
- 表形式データを計算可能なデータ集合としてインポートする ▪
- データ集合から要素を選ぶ ▪
- データ集合から列を抽出する ▪
- 出力データの格子を作る
テキスト
Wolfram Research (2014), Association, Wolfram言語関数, https://reference.wolfram.com/language/ref/Association.html (2016年に更新).
CMS
Wolfram Language. 2014. "Association." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2016. https://reference.wolfram.com/language/ref/Association.html.
APA
Wolfram Language. (2014). Association. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Association.html
BibTeX
@misc{reference.wolfram_2026_association, author="Wolfram Research", title="{Association}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/Association.html}", note=[Accessed: 08-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_association, organization={Wolfram Research}, title={Association}, year={2016}, url={https://reference.wolfram.com/language/ref/Association.html}, note=[Accessed: 08-September-2026]}