详解如何修改python中字典的键和值


Posted in Python onSeptember 29, 2020

我们知道python中字典是无序的,它们都是通过hash去对应的。一般的如果我们需要修改字典的值,只需要直接覆盖即可,而修改字典的键,则需要使用字典自带的pop函数,示例如下:

t = {}
t['a'] = 1
t['b'] = 2
# 修改字典的值
print('未修改前:', t)
t['b'] = 3
print('修改后: ', t)
# 修改字典的键
print('-' * 30)
print('未修改前:', t)
t['c'] = t.pop('a')
print('修改后: ', t)
"""
输出如下:
未修改前: {'a': 1, 'b': 2}
修改后: {'a': 1, 'b': 3}
------------------------------
未修改前: {'a': 1, 'b': 3}
修改后: {'b': 3, 'c': 1}
"""

Python dict字典基本操作(包括添加、修改、删除键值对)

由于字典属于可变序列,所以我们可以任意操作字典中的键值对(key-value 对)。Python 中,常见的字典操作有以下几种:
1.向现有字典中添加新的键值对。
2.修改现有字典中的键值对。
3.从现有字典中删除指定的键值对。
4.判断现有字典中是否存在指定的键值对。

初学者要牢记,字典中常常包含多个键值对,而 key 是字典的关键数据,字典的基本操作都是围绕 key 值实现的。

Python字典添加键值对

如果要为 dict 添加键值对,只需为不存在的 key 赋值即可。实现此操作的语法格式如下:

dict[key] = value

此格式中,各个参数的含义如表 1 所示。

表 1 Python 字典添加键值对语法参数

参数 含义
dict 表示字典名称。
key 表示要添加元素的键。注意,既然是添加新的元素,那么就要保证此元素的键和字典中现有元素的键互不相同。
value 表示要添加数据的值,只要是 Python 支持的数据类型就可以。

例如,下面代码演示了在现有字典 a 的基础上,添加新元素的过程:

a = {'数学':95}
print(a)
#添加新键值对
a['语文'] = 89
print(a)
#再次添加新键值对
a['英语'] = 90
print(a)

运行结果为:

{'数学': 95}
{'数学': 95, '语文': 89}
{'数学': 95, '语文': 89, '英语': 90}

Python字典修改键值对

“修改键值对”并不是同时修改某一键值对的键和值,而只是修改某一键值对中的值。

 由于在字典中,各元素的键必须是唯一的,因此,如果新添加元素的键与已存在元素的键相同,原来键所对应的值就会被新的值替换掉。例如:

a = {'数学': 95, '语文': 89, '英语': 90}
a['语文']=100
print(a)

运行结果为:

{'数学': 95, '语文': 100, '英语': 90}

可以看到,字典中没有再添加一个 {'语文':100} 键值对,而是对原有键值对 {'语文': 89} 中的值做了修改。

Python字典删除键值对

如果要删除字典中的键值对,还是可以使用 del 语句。例如:

# 使用del语句删除键值对
a = {'数学': 95, '语文': 89, '英语': 90}
del a['语文']
del a['数学']
print(a)

运行结果为:

{'英语': 90}

判断字典中是否存在指定键值对

如果要判断字典中是否存在指定键值对,首先应判断字典中是否有对应的键。判断字典是否包含指定键值对的键,可以使用 in 或 not in 运算符。

需要指出的是,对于 dict 而言,in 或 not in 运算符都是基于 key 来判断的。

例如如下代码:

a = {'数学': 95, '语文': 89, '英语': 90}
# 判断 a 中是否包含名为'数学'的key
print('数学' in a) # True
# 判断 a 是否包含名为'物理'的key
print('物理' in a) # False

运行结果为:

True
False

通过 in(或 not in)运算符,我们可以很轻易地判断出现有字典中是否包含某个键,如果存在,由于通过键可以很轻易的获取对应的值,因此很容易就能判断出字典中是否有指定的键值对。

到此这篇关于详解如何修改python中字典的键和值的文章就介绍到这了,更多相关python修改字典键和值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现根据图标提取分类应用程序实例
Sep 28 Python
python 写入csv乱码问题解决方法
Oct 23 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
Python计算斗牛游戏概率算法实例分析
Sep 26 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
python使用KNN算法手写体识别
Feb 01 Python
python opencv检测目标颜色的实例讲解
Apr 02 Python
Python类的继承用法示例
Jan 31 Python
Flask模板引擎之Jinja2语法介绍
Jun 26 Python
Django 用户认证Auth组件的使用
Nov 30 Python
在 Python 中利用 Pool 进行多线程
Apr 24 Python
提高python代码运行效率的一些建议
Sep 29 #Python
Python爬取微信小程序Charles实现过程图解
Sep 29 #Python
Python Charles抓包配置实现流程图解
Sep 29 #Python
python和node.js生成当前时间戳的示例
Sep 29 #Python
python实现图书馆抢座(自动预约)功能的示例代码
Sep 29 #Python
Python 下载Bing壁纸的示例
Sep 29 #Python
pycharm 2020 1.1的安装流程
Sep 29 #Python
You might like
Zend studio文件注释模板设置方法
2013/09/29 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
js控制div及网页相关属性的代码
2009/12/19 Javascript
js判断undefined变量类型使用typeof
2013/06/03 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python类的基础入门知识
2008/11/24 Python
Python实现分割文件及合并文件的方法
2015/07/10 Python
django的登录注册系统的示例代码
2018/05/14 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
pandas中的series数据类型详解
2019/07/06 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
大学新生入学教育方案
2014/05/16 职场文书
七夕情人节促销方案
2014/06/07 职场文书
施工安全责任书范本
2014/07/24 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
解决redis批量删除key值的问题
2022/03/23 Redis