CodeGym /コース /Python SELF JA /辞書のビュー

辞書のビュー

Python SELF JA
レベル 11 , レッスン 3
使用可能

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')]
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION