当前位置: 代码迷 >> 综合 >> 20201010 045.字典_元素的添加_修改_删除
  详细解决方案

20201010 045.字典_元素的添加_修改_删除

热度:45   发布时间:2024-02-27 05:21:54.0

字典元素添加、修改、删除

 

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:这里我反复运行上面的代码,发现这个删除并不是 真·随机删除,每次删除的顺序是一样的。