这是我参与「第四届青训营」笔记创作活动的的第9天
字典键值对的删除
1.通过键删除键值对
可以使用 pop 方法删除一个键值对,并将值返回
值 = 字典.pop(键)
>>> codes = {‘beijing’: ‘010’, ‘shanghai’: ‘021’}
>>> codes.pop(‘beijing’)
’010’
>>> codes
{‘shanghai’: ‘021’}
如果 pop 一个不存在的键,则会抛出 KeyError 异常
>>> codes.pop(‘a’)
Traceback (most recent call last):
File “”, line 1, in
KeyError: ‘a’
如果你不希望异常抛出,可以传递 pop 方法的第二个参数作为默认值。默认值仅在键不存在时生效,此时方法将直接返回这个默认值,且跳过删除操作
值 = 字典.pop(键, 默认值)
>>> codes = {‘beijing’: ‘010’, ‘shanghai’: ‘021’}
>>> codes.pop(‘guangzhou’, ‘000’)
’000’
2.通过键删除键值对(del 方法)
del 字典[键]
>>> codes = {‘beijing’: ‘010’, ‘shanghai’: ‘021’}
>>> del codes[‘beijing’]
>>> codes
{‘shanghai’: ‘021’}
3.随机删除一个键值对
使用 popitem 随机删除一个键值对,并返回这个键值对的二元组,二元组的第一个元素是键,第二个元素是值
键值二元组 = 字典.popitem()
>>> codes = {‘beijing’: ‘010’, ‘shanghai’: ‘021’}
>>> codes.popitem()
(‘shanghai’, ‘021’)
>>> codes
{‘beijing’: ‘010’}
4.清空所有键值对
键值二元组 = 字典.clear()
>>> codes = {‘beijing’: ‘010’, ‘shanghai’: ‘021’}
>>> codes.clear()
>>> codes
{}
字典中键值对修改
1.修改键对应的值
字典[键] = 值
>>> codes = {‘beijing’: ‘010’}
>>> codes[‘beijing’] = '021’
>>> codes
{‘beijing’: ‘021’}
如果键不存在,则创建键值对
2.用字典批量更新键值对
字典.update(另一字典)
>>> codes = {‘beijing’: ‘010’, ‘shanghai’: ‘021’}
>>> codes.update({‘guangzhou’: ‘020’, ‘shanghai’: ‘000’})
>>> codes
{‘beijing’: ‘010’, ‘shanghai’: ‘000’, ‘guangzhou’: ‘020’}
可以看到字典中新增了 'guangzhou': '020' 这个键值对,同时将 'shanghai': '021' 修改为 'shanghai': '000'
什么时候用字典
字典的显著优势是可以通过键快速地查询数据。字典中的元素以键值对的形式存在,使用时通过键来获取和修改值,由于字典内部的特殊实现,字典通过键获取值的效率非常高。
如果我们希望将批量的数据存放起来,并且在需要时能以很高的执行效率来获取其中某个指定的数据,这时就可以使用字典。除此之外,如果我们想在程序中暂时维护一个映射关系,也可以使用字典,因为字典本质上就是一个映射关系。
如,我们可以将城市名和对应的区号保存在字典中,这样就可以通过城市名快速地查询到其区号,而不需要进行遍历。