详解如何修改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脚本来删除指定容量以上的文件的教程
May 04 Python
Python冒泡排序注意要点实例详解
Sep 09 Python
深入理解Python中range和xrange的区别
Nov 26 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 Python
对于Python深浅拷贝的理解
Jul 29 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
关于Numpy数据类型对象(dtype)使用详解
Nov 27 Python
python绘制雷达图实例讲解
Jan 03 Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
Jun 29 Python
virtualenv隔离Python环境的问题解析
Jun 21 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
简单谈谈favicon
2015/06/10 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
用console.table()调试javascript
2014/09/04 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
JavaScript对Json的增删改属性详解
2016/06/02 Javascript
js创建对象几种方式的优缺点对比
2016/09/28 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
python实现的udp协议Server和Client代码实例
2014/06/04 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
Python批量生成幻影坦克图片实例代码
2019/06/04 Python
python for和else语句趣谈
2019/07/02 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
Python如何执行系统命令
2020/09/23 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
优秀学生自我鉴定范例
2013/12/18 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
优秀班组申报材料
2014/12/25 职场文书
文案策划岗位职责
2015/02/11 职场文书
党员年终个人总结
2015/02/14 职场文书
2015年师德表现自我评价
2015/03/05 职场文书
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL