2.1.6 マッピングタイプ

マッピングオブジェクトは一つのタイプ(キータイプ)の値を任意のオブジェクトに写像します。マッピングは変更可能なオブジェクトです。現在は一つだけ辞書という標準的なマッピングタイプがあります。辞書のキーはほとんど任意の値を指定できます。キーとして使えない値のタイプは、リストまたは辞書あるいはそれ以外のオブジェクトの同一性より値で比較される変更可能なタイプのみです。 キーとして使われる数値タイプは数値比較の通常の規則に従います。2つの数が等しければ(例えば11.0)、同じ辞書エントリをインデックスするためにどちらも使うことができます。

  

辞書はキー: の組をカンマで区切ったリストをブレース内に置いて作ります。例えば次のようになります。 {'jack': 4098, 'sjoerd': 4127} または {4098: 'jack', 4127: 'sjoerd'}

以下の演算がマッピングには定義されています。(ここでaはマッピング、 kはキーでxは任意のオブジェクトです。)

演算 結果
len(a) a内のアイテム数
a[k] キーkに対応したaのアイテム (1)
a[k] = x a[k]xをセット
del a[k] aからa[k]を削除 (1)
a.clear() aから全アイテムを削除
a.copy() aの(浅い)コピー
a.has_key(k) aがキーkを持てば1, そうでなければ0
a.items() aの(key, item)ペアリストのコピー (2)
a.keys() aのキーリストのコピー (2)
a.update(b) 辞書bで辞書aを更新する。つまり
for k, v in b.items(): a[k] = v
(3)
a.values() aの値リストのコピー (2)
a.get(k[, f]) キーkに対応したaのアイテム (4)
       

注:

(1)
kがマッピング内にないとき例外が発生する。

(2)
キーと値は任意の順序でリストされます。

(3)
baと同じタイプでなければなりません。

(4)
kがマッピング内にないときは例外は発生せず、その代わりfを返します。fはオプションでそれが指定されずkがマッピング内にないときは Noneが返ります。

guido@python.org