Python: ディクショナリの全てのキーと値のペアを取得する items()
Pythonでディクショナリ(辞書)のすべてのキーと値のペアを取得する場合は、 items()メソッドを使います。
ディクショナリ.items()
戻り値は dict_itemsオブジェクトで、 キーと値のペアがタプルとして入っています。 dict_keysオブジェクトの具体例を表示してみます。
d = {"a": 10, "b": 20, "c": 30} print(d.items()) # dict_items([('a', 10), ('b', 20), ('c', 30)]) print(type(d.items())) # <class 'dict_items'>
dict_itemsオブジェクトをfor文に渡す
dict_itemsオブジェクトはイテラブル(反復処理が可能)なオブジェクトです。 そのままfor文に渡して処理することができます。
d = {"a": 10, "b": 20, "c": 30} for t in d.items(): print(t) # 実行結果 ('a', 10) ('b', 20) ('c', 30)
リストに変換する
dict_itemsオブジェクトをlistコンストラクタに渡すとリストに変換できます。 キーと値のペア(タプル)のリストになります。
d = {"a": 10, "b": 20, "c": 30} li = list(d.items()) print(li) # [('a', 10), ('b', 20), ('c', 30)] print(type(li)) # <class 'list'>
キーと値を別々に取得する
キーと値を別々に取得したい場合はfor文でループを回すときに、 キー用の変数と値用の変数を別々に用意します。 つまりタプルをアンパックすることで別々に取得できます。
次のコードではキー用の変数をk、値用の変数をvとして別々に取得しています。
d = {"a": 10, "b": 20, "c": 30} for k, v in d.items(): print(k) print(v) # 実行結果 a 10 b 20 c 30