在实际开发中,字典使数据表示更加完整,因此它是应用最广的一种数据类型,想要熟练运用字典,就必须熟悉字典中常用的操作。
计算元素个数
字典中元素个数可以通过len()函数来获取,如下所示。
1 dict = {'jianshu':'简书', 'author':'隼与鱼'}
2 print(len(dict))
运行结果如下图所示。
![](https://img.haomeiwen.com/i5120355/e67b5a55b2049435.png)
在上例中,第2行通过len()函数计算元素个数并输出。
访问元素值
列表与元组是通过下标索引访问元素值,而字典是通过元素的键来访问值,如下所示。
1 dict = {'jianshu':'简书', 'author':'隼与鱼'}
2 print(dict['jianshu'])
3 print(dict['author'])
运行结果如下图所示。
![](https://img.haomeiwen.com/i5120355/c41f6c27e48f43ab.png)
在上例中,第2行与第3行通过键访问所对应的值并通过print()函数输出。如果访问不存在的键,则运行时程序会报错。
有时不确定字典中是否存在某个键而又想访问该键对应的值,则可以通过get()函数,如下所示。
1 dict = {'jianshu':'简书', 'author':'隼与鱼'}
2 name1 = dict.get('goodProgrammer') # 不存在该键时,返回None,而不是报错
3 print(name1)
4 name2 = dict.get('author') # 存在该键时,返回对应的值
5 print(name2)
运行结果如下图所示。
![](https://img.haomeiwen.com/i5120355/eb1372a9ec9f4506.png)
在上例中,第2行通过get()函数获取'goodProgrammer'对应的值,字典中不存在这个键,此时返回None,而不是报错,第4行通过get()函数获取'author'对应的值,字典中存在这个键,此时返回'隼与鱼'。
修改元素值
字典中除了通过键访问值外,还可以通过键修改值,如下所示。
1 std = {'name':'隼鱼', 'score':100}
2 print(std)
3 std['name'] = '隼与鱼'
4 std['score'] = 99
5 print(std)
运行结果如下图所示。
![](https://img.haomeiwen.com/i5120355/0eaefeb3b002bc7c.png)
在上例中,第3行与第4行通过键修改所对应的值,从运行结果可发现,修改后字典中的元素发生了变化。
添加元素
通过键修改值时,如果键不存在,则会在字典中添加该键值对,如下所示。
1 std = {'name':'隼鱼', 'score':100}
2 std['name'] = '隼与鱼' # 该键存在,修改键对应的值
3 std['age'] = 20 # 该键不存在,添加该键值对
4 print(std)
运行结果如下图所示。
![](https://img.haomeiwen.com/i5120355/46eed05a54c8a8dd.png)
在上例中,第2行修改键'name'所对应的值为'隼与鱼',第3行将键值对'age':20添加到字典中。
此外,还可以通过update()函数修改某键对应的值或添加元素,如下所示。
1 std = {'name':'隼鱼', 'score':100}
2 new = {'name':'隼与鱼'}
3 std.update(new) # 修改键所对应的值
4 print(std)
5 add = {'age':20}
6 std.update(add) # 添加元素
7 print(std)
运行结果如上图所示。
![](https://img.haomeiwen.com/i5120355/0209218213b6253e.png)
在上例中,第3行修改键'name'所对应的值为'隼与鱼',第6行将键值对'age':20添加到字典std中。
删除元素
删除字典中的元素可以通过“del 字典名[键]”实现,如下所示。
1 std = {'name':'隼与鱼', 'score':100}
2 del std['score']
3 print(std)
运行结果如下图所示。
![](https://img.haomeiwen.com/i5120355/b44d65bc3ab64026.png)
在上例中,第2行通过del删除字典中的键值对'score':100。
此外,还可以通过pop()函数删除指定元素并返回该元素,如下所示。
1 std = {'name':'隼与鱼', 'score':100}
2 std.pop('score')
3 print(std)
运行结果如下图所示。
![](https://img.haomeiwen.com/i5120355/b44d65bc3ab64026.png)
在上例中,第2行通过pop()函数删除字典中的键值对'score':100。
如果想删除字典中所有元素,则可以使用clear()实现,如下所示。
1 std = {'name':'隼与鱼', 'score':100}
2 std.clear()
3 print(std)
运行结果如下图所示。
![](https://img.haomeiwen.com/i5120355/bd2a7089e2cc6a45.png)
在上例中,第2行通过clear()删除字典中所有的元素。
网友评论