什么是Python字典视图对象?

什么是Python字典视图对象?

字典 是一种用于存储一组对象的数据结构。字典具有一组键,每个键有一个单独的值。当给出一个键时,字典将返回分配的值。

在Python字典中,一些方法返回视图对象。这些视图对象是动态视图对象,意味着当我们在字典中进行一些更改时,视图会反映所有这些更改。

Python中字典的主要视图对象是键(keys)、值(values)和项目(items)。它们提供字典条目的非常数视图。

Keys对象包含字典的所有键,values对象包含所有值,而items对象包含键-值对。

更多Python相关文章,请阅读:Python 教程

keys

视图对象keys表示字典中的所有键。您可以使用 keys() 方法检索此对象的内容。

如果打印视图对象keys ,它以插入顺序显示字典中所有 的新列表。

一旦我们使用keys()方法将所有键检索到一个变量(例如keys)中,如果我们更新字典(即添加或删除键),则更改将反映在该变量中。

示例1

在以下示例中,我们尝试使用keys()方法检索字典的所有键。

d={'a':5,'b':2,'c':0,'d':7}
k=d.keys()
print(k)
print(type(k))

输出

dict_keys(['a', 'b', 'c', 'd'])
<class 'dict_keys'>

示例2

已检索的键会更新

在以下程序中,我们已创建一个带有4个键值对的字典。 的键从字典中检索并将其存储在变量keys中。

  • 随后,我们添加了一个元素到字典中。

  • 如果打印变量 keys 的值,则可以找到已添加元素的键。

dictionary={'a':5,'b':2,'c':0,'d':7}
keys=dictionary.keys()
print("Keys before Dictionary Updation:",keys)

# 更新字典
dictionary['e']=5
print("listing updated dictionary:",dictionary)

# 动态视图对象会自动更新
print("Keys after Dictionary Updation:",keys)

输出

Keys before Dictionary Updation: dict_keys(['a', 'b', 'c', 'd'])
listing updated dictionary: {'a': 5, 'b': 2, 'c': 0, 'd':7, 'e': 5}
Keys after Dictionary Updation: dict_keys(['a', 'b', 'c', 'd', 'e'])

示例3

以下是 keys() 函数的另一个示例,在这里我们将删除一个键并验证检索到的键的内容。

dict = {'Madhu': 1001, 'Raju': 1002, 'Radha': 2003, 'Yadav': 9004}
print("删除键之前的字典是:" + str(dict))
removed_value = dict.pop('Raju')
print("被删除的键的值是:" + str(removed_value))

#删除后打印字典
print("删除键后的字典是:" + str(dict))

输出

删除键之前的字典是:{'Madhu': 1001, 'Raju': 1002, 'Radha': 2003, 'Yadav': 9004}
被删除的键的值是:1002
删除键后的字典是:{'Madhu': 1001, 'Radha': 2003, 'Yadav': 9004}

values() 是Python编程语言的内置方法,它返回一个视图对象。该视图对象包含字典的值的列表。

示例1

以下是打印字典值的示例-

d = {'a': 5, 'b': 2, 'c': 0, 'd': 7}
v = d.values()
print(v)
print(type(v))

输出

正如我们在以下输出中看到的那样,打印出字典的所有值:

dict_values([5, 2, 0, 7])
<class 'dict_values'>

示例2-更新字典

以下是添加值以更新字典的示例:

d = {'a': 5, 'b': 2, 'c': 0, 'd'<: 7}
v = d.values()
print('更新前的值为:', v)
d['e'] = 5
print('添加新值后的字典:', d)

#动态视图对象会自动更新
print('更新后的字典的值:', v)

输出

更新前的值为:dict_values([5, 2, 0, 7]) 添加新值后的字典: {'a': 5, 'b': 2, 'c': 0, 'd': 7, 'e': 5} 更新后的字典的值:dict_values([5, 2, 0, 7, 5])

示例3

以下是总结字典值的示例-

#将字典中的值相加
d1 = {"apple" : 5000, "gold" : 60000, "silver" : 50000}
list1 = d1.values()
a=(sum(list1))
print('总值:',a)

输出

总值: 115000

项目

items() 方法以包含所有键及其值的列表形式返回一个新视图,视图作为字典的项目((key, value)对)。

语法

以下是items()方法的语法−

dictionary.items()

示例1

下面是一个打印字典中所有项目的例子−

d = {'a': 5, 'b': 2, 'c': 0, 'd': 7}
i = d.items()
print(i)
print(type(i))

输出

dict_items([('a', 5), ('b', 2), ('c', 0), ('d', 7)])
<class 'dict_items'>

示例2

下面是一个从字典中删除项目的例子−

d1 = {'a': 5, 'b': 2, 'c': 0, 'd': 7}
# 打印所有字典的项目
print("原始字典项:", d1)
items = d1.items()
# 从字典中删除项
del[d1['c']]

#打印更新后的字典
print('更新后的字典:',items)

输出

原始字典项: {'a': 5, 'b': 2, 'c': 0, 'd': 7}
更新后的字典: dict_items([('a', 5), ('b', 2), ('d', 7)])

示例3

以下示例演示修改字典的items()方法−

car = {
   "brand": "Ford",
   "model": "Mustang",
   "year": 1964
}
print('原始字典:',car)
x = car.items()
car["year"] = 2018
print('更新后的字典:',x)

输出

如下面的输出所示,年份已从1964修改为2018−

原始字典: {'brand': 'Ford', 'model': 'Mustang', 'year': 1964}
更新后的字典: dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 2018)])

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程