3.1 子要素のビュー
すでに知っているように、辞書は内部でキーと値のペアを保持しています。これらのデータにアクセスするためのメソッドがあります: keys(), values(), items()。以下で詳しく説明します。
重要! これらのメソッドは単なるリストではなく、ビューを返します。辞書のビューは、辞書に含まれるキー、値、キーと値のペアのダイナミックな表示を提供します。これらのビューは辞書が変更されると自動的に更新されます。
メソッド keys()
keys() メソッドは辞書内のすべてのキーのビューを返します。結果は dict_keys オブジェクトで、セットと同様の操作をサポートしています。
person = {"name": "Alice", "age": 25, "city": "New York"}
keys = person.keys()
print(keys) # dict_keys(['name', 'age', 'city'])
キーの繰り返し
for key in person.keys():
print(key)
# 出力: # name # age # city
メソッド values()
values() メソッドは辞書内のすべての値のビューを返します。結果は dict_values オブジェクトで、ループを使った操作もサポートしています。
person = {"name": "Alice", "age": 25, "city": "New York"}
values = person.values()
print(values) # dict_values(['Alice', 25, 'New York'])
値の繰り返し
for value in person.values():
print(value)
# 出力: # Alice # 25 # New York
メソッド items()
items() メソッドは辞書内のすべてのキーと値のペアのビューを返します。結果は dict_items オブジェクトで、ループと一緒に利用できます。
person = {"name": "Alice", "age": 25, "city": "New York"}
items = person.items()
print(items) # dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
キーと値のペアの繰り返し
for key, value in person.items():
print(f"{key}: {value}")
# 出力: # name: Alice # age: 25 # city: New York
3.2 ダイナミックな更新
辞書のビューの重要な特性の一つは、そのダイナミックな更新です。これは、辞書が変更されると、ビューが自動的にその変更を反映することを意味します。
person = {"name": "Alice", "age": 25}
keys = person.keys()
print(keys) # dict_keys(['name', 'age'])
# 新しい要素の追加
person["city"] = "New York"
print(keys) # dict_keys(['name', 'age', 'city'])
ビューを他のコレクションに変換する
辞書のビューは、追加の操作を実行するために、リスト、セット、またはタプルなどの他のコレクションに変換することができます。
person = {"name": "Alice", "age": 25, "city": "New York"}
# keys()をリストに変換
keys_list = list(person.keys())
print(keys_list) # ['name', 'age', 'city']
# values()をセットに変換
values_set = set(person.values())
print(values_set) # {'Alice', 25, 'New York'}
# items()をタプルのリストに変換
items_list = list(person.items())
print(items_list) # [('name', 'Alice'), ('age', 25), ('city', 'New York')]
GO TO FULL VERSION