キーと値を持つ辞書オブジェクト。
生成
キーは文字列に限らずほぼ任意のオブジェクトが指定できる。(変更可能なオブジェクトはキーに使うことができない除く)
>>> d = {} #空の辞書作成
>>> d2 = {"foo": 10, "bar": 20} #要素を指定して作成
>>> d2["foo"]
10
要素の追加
>>> d = {"foo": 10}
>>> d["bar"] = 200
>>> d["bar"]
200
要素の取得
>>> d = {"foo": 10, "bar": 20}
>>> d["foo"]
10
>>> d["hoge"] #存在しないキーを指定するとKeyError
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'hoge'
>>> d.get("hoge") == None #getメソッドではKeyErrorは起きず、Noneがかえる
True
>>> d.get("hoge", -1) #getの第2引数で存在しない時の値を指定
-1
キーの存在チェック
>>> d = {"foo": 10, "bar": 20}
>>> "hoge" in d
False
>>> "foo" in d
True
キーの一覧
>>> d = {"foo": 10, "bar": 20}
>>> d.keys()
['foo', 'bar']
>>> for k in d.iterkeys(): #イテレータとして取得
... print k
foo
bar
valueの一覧
>>> d.values() #itervalues()イテレータとして取得
[10, 20]
要素の一覧
>>> d.items() #(key, value)のタプルのリスト
[('foo', 10), ('bar', 20)]
>>> d.iteritems() #itemsをイテレータとして取得
<dictionary-itemiterator object at 0xfff3b2fc>
>>> [e for e in d.iteritems()] #リスト内包表記でイテレートしてリスト化
[('foo', 10), ('bar', 20)]