37. Python元素的添加,修改,删除

目录

给字典新增”键值对”

使用update()将新字典中所有的键值对全部添加到旧字典对象上

字典中元素的删除

popitem() 随机删除和返回该键值对


字典元素的添加, 修改, 删除

给字典新增键值对

如果键已经存在, 则覆盖旧的键值对; 如果”键”不存在, 则新增”键值对”;

>>> 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

{}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值