>>> codes.()
([‘010’, ‘021’])
获取到的所有值是以迭代器的形式存在,我们用 list() 函数将迭代器转换为列表 。如下:
>>> list(codes.())
[‘010’, ‘021’]
获取所有键值对的列表
值的列表 = 字典.items()
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes.items()
([(‘’, ‘010’), (‘’, ‘021’)])
获取到的所有键值对是以迭代器的形式存在,我们用 list() 函数将迭代器转换为列表 。如下:
>>> list(codes.items())
[(‘’, ‘010’), (‘’, ‘021’)]
列表中的每一个元素是都是二元组(即包含两个元素的元组),每个二元组的第一个元素是键,第二个元素是值 。
4、字典键值对的删除
通过键删除键值对
可以使用 pop 方法删除一个键值对,并将值返回 。
值 = 字典.pop(键)
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes.pop(‘’)
’010’
>>> codes
{‘’: ‘021’}
如果 pop 一个不存在的键,则会抛出异常:
>>> codes.pop(‘a’)
(mostcall last):
File “”, line 1, in
: ‘a’
如果你不希望异常抛出,可以传递 pop 方法的第二个参数作为默认值 。默认值仅在键不存在时生效,此时方法将直接返回这个默认值,且跳过删除操作:
值 = 字典.pop(键, 默认值)
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes.pop(‘’, ‘000’)
’000’
通过键删除键值对(del 方法)
也可以通过关键字 del 来删除键值对 。
del 字典[键]
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> del codes[‘’]
>>> codes
{‘’: ‘021’}
随机删除一个键值对
使用随机删除一个键值对,并返回这个键值对的二元组,二元组的第一个元素是键,第二个元素是值 。
键值二元组 = 字典.popitem()
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes.()
(‘’, ‘021’)
>>> codes
{‘’: ‘010’}
清空所有键值对
键值二元组 = 字典.clear()
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes.clear()
>>> codes
{}
5、字典中键值对修改
修改键对应的值
字典[键] = 值
>>> codes = {‘’: ‘010’}
>>> codes[‘’] = '021’
>>> codes
{‘’: ‘021’}
如果键不存在,则创建键值对 。
用字典批量更新键值对
字典.update(另一字典)
>>> codes = {‘’: ‘010’, ‘’: ‘021’}
>>> codes.({‘’: ‘020’, ‘’: ‘000’})
>>> codes
{‘’: ‘010’, ‘’: ‘000’, ‘’: ‘020’}
可以看到字典中新增了 '': '020' 这个键值对,同时将 '': '021' 修改为 '': '000' 。
6、什么时候用字典
字典的显著优势是可以通过键快速地查询数据 。字典中的元素以键值对的形式存在,使用时通过键来获取和修改值,由于字典内部的特殊实现,字典通过键获取值的效率非常高 。
如果我们希望将批量的数据存放起来,并且在需要时能以很高的执行效率来获取其中某个指定的数据,这时就可以使用字典 。除此之外,如果我们想在程序中暂时维护一个映射关系,也可以使用字典,因为字典本质上就是一个映射关系 。
如,我们可以将城市名和对应的区号保存在字典中,这样就可以通过城市名快速地查询到其区号,而不需要进行遍历 。
area_codes = {'北京': '010','上海': '021','天津': '022','重庆': '023','沈阳': '024','南京': '025','武汉': '027','成都': '028',}