Python の Dictionary
Python の Dictionary とは?
ディクショナリ (dictionary) というのは、キーと値のペアを保持するオブジェクトです。
ディクショナリは { } で記述できます。例えば、name = John Doe, age = 37 という値を記述するには次のようにします。
>>> D = {'name':'John Doe', 'age':37}
こうしておくと、キーを使って次のように値にアクセスできます。
>>> D['name']
'John Doe'
また、次のように {} で空のディクショナリを作っておき、 後で値を追加することもできます。
>>> E = {}
>>> E['car'] = 'Sienna'
>>> E['make'] = 'Toyota'
>>> E
{'car': 'Sienna', 'make': 'Toyota'}
Dictionary の関数
ディクショナリで使える関数は私の手元では次のようになりました。
>>> dir(D)
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__',
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__',
'__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__',
'__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__reversed__', '__setattr__', '__setitem__', '__sizeof__', '__str__',
'__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys',
'pop', 'popitem', 'setdefault', 'update', 'values']
キーのリスト、および値のリストは keys()、values() 関数を使って次のように取得できます。
>>> D.keys()
dict_keys(['name', 'age'])
>>> D.values()
dict_values(['John Doe', 37])
特定のキーがディクショナリに含まれているかどうかチェックするには、次のように in を用います。
>>> 'name' in D
True
>>> 'age' in D
True
>>> 'address' in D
False
特定のキーを持っているか調べるための has_key メソッドは、Python 2 まではディクショナリのメソッドでしたが、 Python 3 で削除されました。
Dictionary の中身を列挙する方法
ディクショナリの中身を列挙するには、次のようにディクショナリの items() メソッド、 for ループ、さらに enumerate() を用いて次のようにします。
>>> for i, (k, v) in enumerate(D.items()):
>>> print(i, k, v)
0 name John Doe
1 age 37