ディクショナリ操作 dict

キーと値を持つ辞書オブジェクト。

生成

キーは文字列に限らずほぼ任意のオブジェクトが指定できる。(変更可能なオブジェクトはキーに使うことができない除く)

>>> 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)]

関連記事:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)