
2.3.2 字典的编辑
1.添加字典元素
采用dict[key]=value的形式可以往字典中添加元素,利用字典的clear()属性可以清空字典中的数据。

用字典的update(dict)方法可以把字典dict的“键:值”对更新到另外一个字典中,如果键已经存在,则会用新值替换旧值。用copy()方法可以复制出一个新字典。

2.获取字典的值
字典中值的读取和修改是通过“dict[key]”来实现的,例如下面的代码。如果是两级字典嵌套,则需要用“dict[key][key]”来实现,字典的值也可以用字典的方法get(key,default=None)来实现,如果key不在字典中则返回default值。字典的setdefault(key,default=None)方法可以输出或添加元素,如果key不存在,则添加key和default值;如果key已经存在,则返回key的值。

3.遍历字典
字典的items()方法返回可遍历的(键,值)数据,keys()方法返回可遍历的键,values()方法返回可遍历的值。如下可以分别输出字典的键、值。

4.删除字典元素
popitem()方法删除并返回字典中的一对键和值,删除键和值是按后进先出的原则顺序删除,如果字典为空,则会抛出KeyError异常。pop(key[,default])方法删除字典给定的键key和所对应的值,并返回该值。key必须给出,如果key不存在则返回default值,如果key不存在且没有设置default,则会抛出KeyError异常。下面的代码先判断要被删除的内容是否是字典的关键字,如果是则删除关键字和值,最后再删除字典的最后一个值。

5.合并和更新操作
在最新版Python 3.9.6中,可以用“|”符号把两个字典合并成一个新字典,如果有重名的关键字,合并后的字典是第2个字典的“键:值”对,用“|=”符号把第2个字典的值更新到第1个字典中。

另外还可以用del dict[key]方法删除键为key的元素,可以用del dict方法删除字典,用dict.clear()方法清除字典中的所有元素。