字典元素添加、修改、删除
1. 给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”。
>>> a = {'name': 'xiaoming', 'age': 18, 'job': 'programmer'}
>>> a
{'name': 'xiaoming', 'age': 18, 'job': 'programmer'}
>>> a['salary'] = 25000
>>> a
{'name': 'xiaoming', 'age': 18, 'job': 'programmer', 'salary': 25000}
2. 使用 update()将新字典中所有键值对全部添加到旧字典对象上。如果 key 有重复,则直接覆盖。
>>> a = {'name': 'xiaoming', 'age': 18, 'job': 'programmer'}
>>> a
{'name': 'xiaoming', 'age': 18, 'job': 'programmer'}
>>> b = {'name': 'xiaoqi', 'age': 19, 'salary': 28000}
>>> b
{'name': 'xiaoqi', 'age': 19, 'salary': 28000}
>>> a.update(b)
>>> a
{'name': 'xiaoqi', 'age': 19, 'job': 'programmer', 'salary': 28000}
3. 字典中元素的删除,可以使用 del()方法;pop()删除指定键值对,并返回对应的“值”;或者 clear()删除所有键值对。
>>> a = {'name': 'xiaoming', 'age': 18, 'job': 'programmer', 'salary': 25000}
>>> a
{'name': 'xiaoming', 'age': 18, 'job': 'programmer', 'salary': 25000}
>>> del(a['name'])
>>> a
{'age': 18, 'job': 'programmer', 'salary': 25000}
>>> a.pop('age')
18
>>> a
{'job': 'programmer', 'salary': 25000}
>>> a.clear()
>>> a
{}
# 注意del另一种写法会删除整个字典对象
>>> a = {'name': 'xiaoming', 'age': 18, 'job': 'programmer', 'salary': 25000}
>>> a
{'name': 'xiaoming', 'age': 18, 'job': 'programmer', 'salary': 25000}
>>> del(a)
>>> a
Traceback (most recent call last):
File "<pyshell#87>", line 1, in <module>
a
NameError: name 'a' is not defined
4. popitem() :随机删除和返回该键值对。字典是“无序可变序列”,因此没有第一个元素、最后一个元素的概念;popitem 弹出随机的项,因为字典并没有"最后的元素"或者其他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效(因为不用首先获取键的列表)。
>>> a = {'name': 'xiaoming', 'age': 18, 'job': 'programmer'}
>>> a.popitem()
('job', 'programmer')
>>> a.popitem()
('age', 18)
>>> a
{'name': 'xiaoming'}
Me:这里我反复运行上面的代码,发现这个删除并不是 真·随机删除,每次删除的顺序是一样的。