Python3 辞書 keys() メソッド
説明
Python3 辞書 keys() メソッドはビューオブジェクトを返します。
dict.keys()、dict.values()とdict.items()返されるのはすべてビューオブジェクト(view objects)であり、辞書エンティティの動的ビューを提供します。つまり、辞書が変更されると、ビューもそれに伴って変化します。
ビューオブジェクトはリストではなく、インデックスをサポートしません。list() を使用してリストに変換できます。
辞書のビューオブジェクトはすべて読み取り専用であるため、ビューオブジェクトを変更することはできません。
注意:Python2.x では直接リストを返します
構文
keys() メソッドの構文:
dict.keys()
引数
- NA。
戻り値
ビューオブジェクトを返します。
例
以下の例は keys() メソッドの使用方法を示しています:
例
>>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
>>> keys = dishes.keys()
>>> values = dishes.values()
>>> # 反復
>>> n = 0
>>> for val in values:
... n += val
>>> print(n)
504
>>> # keys と values は同じ順序(挿入順)で反復されます
>>> list(keys) # list() を使用してリストに変換
['eggs', 'sausage', 'bacon', 'spam']
>>> list(values)
[2, 1, 1, 500]
>>> # ビューオブジェクトは動的であり、辞書の変更の影響を受けます。以下では辞書の key を削除しており、ビューオブジェクトをリストに変換した後もそれに伴って変化します
>>> del dishes['eggs']
>>> del dishes['sausage']
>>> list(keys)
['bacon', 'spam']
>>> keys = dishes.keys()
>>> values = dishes.values()
>>> # 反復
>>> n = 0
>>> for val in values:
... n += val
>>> print(n)
504
>>> # keys と values は同じ順序(挿入順)で反復されます
>>> list(keys) # list() を使用してリストに変換
['eggs', 'sausage', 'bacon', 'spam']
>>> list(values)
[2, 1, 1, 500]
>>> # ビューオブジェクトは動的であり、辞書の変更の影響を受けます。以下では辞書の key を削除しており、ビューオブジェクトをリストに変換した後もそれに伴って変化します
>>> del dishes['eggs']
>>> del dishes['sausage']
>>> list(keys)
['bacon', 'spam']
その他の拡張
Python3 辞書