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')]
GO TO FULL VERSION