字典視圖

Python SELF TW
等級 11 , 課堂 3
開放

3.1 子元素的視圖

如你所知,字典在內部是以鍵-值對的形式儲存元素的。它有一些方法可以讓我們訪問 這些數據:keys()values()items()。下面我會詳細講解這些方法。

重要! 這些方法返回的不僅僅是元素的列表, 而是所謂的視圖 (view)。字典的視圖 提供了字典中包含的鍵、值和鍵-值對的動態表示。這些 視圖會在字典更改時自動更新

方法 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