Python 字典类的 items()
, keys()
, 和 values()
方法返回的是视图对象。这些视图会随着源字典对象内容的变化而动态更新。
items() 方法
items()
方法返回一个 dict_items
视图对象。它包含了一个元组列表,每个元组由相应的键值对组成。
语法
items()
方法的语法如下:
Obj = dict.items()
返回值
items()
方法返回 dict_items
对象,这是一个包含 (键, 值) 对的动态视图。
示例
在下面的例子中,我们首先使用 items()
方法获取 dict_items
对象,并检查当字典对象更新时它是如何动态更新的。
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
obj = numbers.items()
print('type of obj: ', type(obj))
print(obj)
print("update numbers dictionary")
numbers.update({50:"Fifty"})
print("View automatically updated")
print(obj)
输出如下:
type of obj: <class 'dict_items'>
dict_items([(10, 'Ten'), (20, 'Twenty'), (30, 'Thirty'), (40, 'Forty')])
update numbers dictionary
View automatically updated
dict_items([(10, 'Ten'), (20, 'Twenty'), (30, 'Thirty'), (40, 'Forty'), (50, 'Fifty')])
keys() 方法
keys()
方法返回一个 dict_keys
对象,这是字典中定义的所有键的一个列表。它也是一个视图对象,因此当对字典对象进行任何更新操作时,它会自动更新。
语法
keys()
方法的语法如下:
Obj = dict.keys()
返回值
keys()
方法返回一个 dict_keys
对象,这是一个字典中的键的视图。
示例
在这个例子中,我们创建了一个名为 “numbers” 的字典,其中包含整数键及其对应的字符串值。然后,我们使用 keys()
方法获得键的视图对象 “obj”,并检索其类型和内容。
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
obj = numbers.keys()
print('type of obj: ', type(obj))
print(obj)
print("update numbers dictionary")
numbers.update({50:"Fifty"})
print("View automatically updated")
print(obj)
输出如下:
type of obj: <class 'dict_keys'>
dict_keys([10, 20, 30, 40])
update numbers dictionary
View automatically updated
dict_keys([10, 20, 30, 40, 50])
values() 方法
values()
方法返回字典中存在的所有值的一个视图。该对象是 dict_values
类型,并且会自动更新。
语法
values()
方法的语法如下:
Obj = dict.values()
返回值
values()
方法返回一个 dict_values
视图,包含了字典中存在的所有值。
示例
在下面的例子中,我们从 “numbers” 字典中使用 values()
方法获取值的视图对象 “obj”。
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
obj = numbers.values()
print('type of obj: ', type(obj))
print(obj)
print("update numbers dictionary")
numbers.update({50:"Fifty"})
print("View automatically updated")
print(obj)
输出如下:
type of obj: <class 'dict_values'>
dict_values(['Ten', 'Twenty', 'Thirty', 'Forty'])
update numbers dictionary
View automatically updated
dict_values(['Ten', 'Twenty', 'Thirty', 'Forty', 'Fifty'])