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} |