mappingオブジェクト


mappingオブジェクトはC++ Standard Template Libraryで言えば、mapに相当します。また連想配列などとも呼ばれます。ふつうの配列はインデックスとして整数を使いますが、mappingオブジェクトでは文字列(一般にはオブジェクト)を使います。

 

 mappingオブジェクトの初期化

mappingの初期化は{ }で囲んだキー:値の組の集合で行います。

>>> m = {'A':0x41, 'B':0x42, 'C':0x43, 'D':0x44}
>>> print m
{'D': 68, 'B': 66, 'C': 67, 'A': 65}
>>>

 

 メンバのアクセス

mappingオブジェクトのメンバのアクセスはlistなどと同様[ ]で行います。[ ]の中にはキーを指定します。

{'D': 68, 'B': 66, 'C': 67, 'A': 65}
>>> print m['A']
65

メンバの削除はdel文で行います。

>>> del m['B']
>>> print m
{'D': 68, 'C': 67, 'A': 65}

mappingオブジェクトの長さはビルトイン関数len()で取得できます。

>>> print len(m)
3

 

 mappingオブジェクトのメソッド

mappingオブジェクトにはliいろいろなメソッドが準備されていて、各種操作を行えます。次にサンプルを示します。

# map test
print "map test"
m = {"a":15, "b":20, "c":500, "xxx":10000}
print m
print m.has_key("b"),m.has_key("x")
print m.get("a")
print m.items()
print m.values()
print m.keys()
m.clear()
print m
m.update({"new":109, "old":987})
print m
del m["new"]
print m 

このサンプルの実行結果は次のようになります。

map test
{'b': 20, 'c': 500, 'xxx': 10000, 'a': 15}
1 0
15
[('b', 20), ('c', 500), ('xxx', 10000), ('a', 15)]
[20, 500, 10000, 15]
['b', 'c', 'xxx', 'a']
{}
{'new': 109, 'old': 987}
{'old': 987}