详解如何修改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基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
Dec 08 Python
Django中实现一个高性能计数器(Counter)实例
Jul 09 Python
Python库urllib与urllib2主要区别分析
Jul 13 Python
python插入排序算法实例分析
Jul 03 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
Python实现插入排序和选择排序的方法
May 12 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
完美解决pycharm 不显示代码提示问题
Jun 02 Python
python中线程和进程有何区别
Jun 17 Python
图神经网络GNN算法
May 11 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
python集合是否可变总结
2019/06/20 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
Python如何将模块打包并发布
2020/08/30 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
运动会广播稿200字
2014/01/15 职场文书
数学系个人求职信范文
2014/01/30 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
培训通知
2015/04/17 职场文书
班主任工作总结范文
2015/08/13 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
合同范本之电脑出租
2019/08/13 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
python process模块的使用简介
2021/05/14 Python
python垃圾回收机制原理分析
2022/04/13 Python