目录
使用update()将新字典中所有的键值对全部添加到旧字典对象上
字典元素的添加, 修改, 删除
给字典新增”键值对”
如果键已经存在, 则覆盖旧的键值对; 如果”键”不存在, 则新增”键值对”;
>>> a
{'name': '小明', 'age': 18, 'work': '老师'}
>>> a['name'] = '小红'
>>> a
{'name': '小红', 'age': 18, 'work': '老师'}
>>> a['sex']='女孩子'
>>> a
{'name': '小红', 'age': 18, 'work': '老师', 'sex': '女孩子'}
>>>
使用update()将新字典中所有的键值对全部添加到旧字典对象上
如果key有重复, 则直接覆盖;
>>> a
{'name': '小红', 'age': 18, 'work': '老师', 'sex': '女孩子'}
>>> a
{'name': '小红', 'age': 18, 'work': '老师', 'sex': '女孩子'}
>>> b = {'name': '小红', 'age': 18, 'work': '学生','hobby':'打篮球'}
>>> b
{'name': '小红', 'age': 18, 'work': '学生', 'hobby': '打篮球'}
>>> a.update(b) # b直接覆盖a
>>> a
{'name': '小红', 'age': 18, 'work': '学生', 'sex': '女孩子', 'hobby': '打篮球'}
>>>
字典中元素的删除
可以使用del()方法; 或者clear()删除所有键值对; pop()删除指定键值对, 并返回对应的”值对象”;
>>> a
{'name': '小红', 'age': 18, 'work': '学生', 'sex': '女孩子', 'hobby': '打篮球'}
>>> del(a['name'])
>>> a
{'age': 18, 'work': '学生', 'sex': '女孩子', 'hobby': '打篮球'}
>>> b = a.pop('age')
>>> b
18
>>> a
{'work': '学生', 'sex': '女孩子', 'hobby': '打篮球'}
>>> clear(a)
Traceback (most recent call last):
File "<pyshell#30>", line 1, in <module>
clear(a)
NameError: name 'clear' is not defined
>>> a.clear()
>>> a
{}
>>>
popitem() 随机删除和返回该键值对
字典是”无序可变序列”,因此没有第一个元素, 最后一个元素的概念, popitem 弹出随机的项, 因为字典并没有’最后的元素’或者其他有关顺序的概念, 若想一个接一个地移除并处理项, 这个方法就非常有效(因为不用首先获取键的列表);
>>> b = {'name': '小红', 'age': 18, 'work': '学生','hobby':'打篮球'}
>>> b
{'name': '小红', 'age': 18, 'work': '学生', 'hobby': '打篮球'}
>>> b.popitem()
('hobby', '打篮球')
>>> b
{'name': '小红', 'age': 18, 'work': '学生'}
>>> b.popitem()
('work', '学生')
>>> b
{'name': '小红', 'age': 18}
>>> b.popitem()
('age', 18)
>>> b
{'name': '小红'}
>>> b.popitem()
('name', '小红')
>>> b
{}
>>> b.popitem()
Traceback (most recent call last):
File "<pyshell#44>", line 1, in <module>
b.popitem()
KeyError: 'popitem(): dictionary is empty'
>>> b
{}