Python の dictionary オブジェクトから、「キーのリスト」、「値のリスト」、「キーと値をペアにしたリスト」を取り出すには、それぞれ下記のようなメソッドを使用します。
d.keys()
… キーのリスト(戻り値はdict_keys
オブジェクト)d.values()
… 値のリスト(戻り値はdict_values
オブジェクト)d.items()
… (キー, 値) というタプルのリスト(戻り値はdict_items
オブジェクト)
>>> d = {'one':1, 'two':2, 'three':3}
>>> d.keys()
dict_keys(['one', 'two', 'three'])
>>> d.values()
dict_values([1, 2, 3])
>>> d.items()
dict_items([('one', 1), ('two', 2), ('three', 3)])
[('three', 3), ('two', 2), ('one', 1)]
それぞれの戻り値は dict_*
という型のオブジェクトになっており、元のディクショナリ内のデータを参照するためのビューとして働きます。
このビューを介してディクショナリの内容を変更することはできませんが、ディクショナリ側の変更はビューに反映されます。
それぞれのオブジェクトは for
ループでイテレートできます。
>>> for k in d.keys():
... print(k)
...
one
two
three
>>> for k, v in d.items():
... print("{} -> {}".format(k, v))
...
one -> 1
two -> 2
three -> 3