Python字典删除键值对和元素的四种方法(小结)

 更新时间:2021年12月06日 11:36:06   投稿:zx  
删除列表或者字符串元素的方法不止一种,同样,删除字典元素的方法也不止一种,本文主要介绍python中删除字典元素的四种方法:1、使用del语句;2、使用clear();3、使用pop();4、使用popitem()。感兴趣的可以了解一下

在删除每个字典的时候有些方法和删除其他拥有独立内存的数据使用的方法是一样的,比如del,直接清空内存,clear()是值清除变量值。字典的删除我们从字典对象本身和字典中的键值对两个方面出发,来学习一下。

1.del删除字典本身

del就是从内存级别删除字典本身,让这个字典对象彻底消失。同时也可以删除字典中某个键对应的值,下面我们来演示一下

dict4 = {'name': 'Tom', 'age': 18}
del dict4['name']  # 删除字典,如果键不存在,返回错误
print(dict4)
del dict4  # 删除整个字典
print(dict4)

返回结果:

{'age': 18}

NameError: name 'dict4' is not defined

从结果可以看出来,删除键值对之后,字典中指示缺少一对元素,而删除字典之后,错误提示就变成了变量名没有定义了,说明程序在内存中已经找不到这个字典了。

2.pop()删除字典键值对

dict4 = {'name': 'Tom', 'age': 18}
dict4.pop('age')  # 删除字典中对应的键值对,如果键不存在,返回错误
print(dict4)
res = dict4.pop('age222', '默认返回值')  # 设置默认返回值
print(res, dict4)

{'name': 'Tom'}
默认返回值 {'name': 'Tom'}

 3.popitem()删除字典键值对

popitem()删除字典键值对,删除按照最后一组键值对,返回值为被删除键值对组成的元祖。

dict4 = {'name': 'Tom', 'age': 18}
res = dict4.popitem()
print(dict4, res)

{'name': 'Tom'} ('age', 18)

4.clear()删除字典键值对:清空字典中的所有内容,但是不删除字典本身,del删除字典本身

dict4 = {'name': 'Tom', 'age': 18}
dict4.clear()
print(dict4)

返回:{}

python中的dict(字典):

1. 字典是另一种可变容器模型,每个键值对用冒号 (:) 分割,每个键值对之间用逗号 (,) 分割,整个字典由花括号 {}包围 ;

2. 字典中的键一般是唯一的,如果重复则后面的一个键值对会覆盖前面的,不过字典的值不需要唯一;

3. 值可以取任意数据类型,但键必须是不可变类型,例如字符串,数字或元组,但不能是列表因为列表可变。

到此这篇关于Python字典删除键值对和元素的四种方法(小结)的文章就介绍到这了,更多相关Python字典删除元素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现语音识别和语音合成功能

    Python实现语音识别和语音合成功能

    声音的本质是震动,震动的本质是位移关于时间的函数,波形文件(.wav)中记录了不同采样时刻的位移。这篇文章主要介绍了Python实现语音识别和语音合成,需要的朋友可以参考下
    2019-09-09
  • python中关于os.path.pardir的一些坑

    python中关于os.path.pardir的一些坑

    这篇文章主要介绍了python中关于os.path.pardir的一些坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • windows下python之mysqldb模块安装方法

    windows下python之mysqldb模块安装方法

    这篇文章主要介绍了windows下python之mysqldb模块安装方法,需要的朋友可以参考下
    2017-09-09
  • python数据持久存储 pickle模块的基本使用方法解析

    python数据持久存储 pickle模块的基本使用方法解析

    这篇文章主要介绍了python数据持久存储 pickle模块的基本使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Django DRF路由与扩展功能的实现

    Django DRF路由与扩展功能的实现

    这篇文章主要介绍了Django DRF路由与扩展功能的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 一文带你深入了解Python中的数据清洗

    一文带你深入了解Python中的数据清洗

    数据清洗一般包括:空值,异常值,重复值,类型转换和数据整合这些操作,这篇文章将通过一些示例为大家详细讲讲Python中数据清洗的操作的实现,需要的可以参考一下
    2023-03-03
  • python+matplotlib绘制饼图散点图实例代码

    python+matplotlib绘制饼图散点图实例代码

    这篇文章主要介绍了python+matplotlib绘制饼图散点图实例代码,本实例是官网的一个实例,不过也很简单,大家可以参考下
    2018-01-01
  • pycharm使用anaconda全过程

    pycharm使用anaconda全过程

    这篇文章主要介绍了pycharm使用anaconda全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python读取文件比open快十倍的库fileinput

    Python读取文件比open快十倍的库fileinput

    fileinput是Python的内置模块,但不少人对它都是陌生的。今天把fileinput的所有的用法、功能进行详细的讲解,并列举一些非常实用的案例,对于理解和使用它可以说完全没有问题
    2021-10-10
  • 解决usageerror: line magic function "%%time" not found问题

    解决usageerror: line magic function "

    这篇文章主要介绍了解决usageerror: line magic function "%%time" not found问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01

最新评论