Python 字典视图对象
字典类的items()、keys()和values()方法返回视图对象。这些视图对象在源字典对象的内容发生任何更改时动态刷新。
items()方法
items()方法返回一个dict_items视图对象。它包含一个元组列表,每个元组由相应的键和值对组成。
语法
Obj = dict.items()
返回值
items()方法返回一个dict_items对象,这是一个动态视图,由(key,value)元组组成。
示例
在下面的示例中,我们首先使用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 类的方法,返回一个 dict_keys 对象,其中包含字典中定义的所有键。它是一个视图对象,因为它在字典对象上进行任何更新操作时会自动更新。
语法
Obj = dict.keys()
返回值
keys()方法返回字典中的键的dict_keys对象视图。
示例
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_value,会自动更新。
语法
Obj = dict.values()
返回值
values() 方法返回字典中所有值的 dict_values 视图。
示例
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'])