详解如何修改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 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
Python使用函数默认值实现函数静态变量的方法
Aug 18 Python
Python中实现对list做减法操作介绍
Jan 09 Python
在Python中使用元类的教程
Apr 28 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 Python
pandas 转换成行列表进行读取与Nan处理的方法
Oct 30 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
Feb 19 Python
Python Pandas 如何shuffle(打乱)数据
Jul 30 Python
TensorFlow实现从txt文件读取数据
Feb 05 Python
用python写爬虫简单吗
Jul 28 Python
解决python便携版无法直接运行py文件的问题
Sep 01 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
php checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
PHP aes (ecb)解密后乱码问题
2015/06/22 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python的Urllib库的基本使用教程
2015/04/30 Python
python 调用HBase的简单实例
2016/12/18 Python
python 多维切片之冒号和三个点的用法介绍
2018/04/19 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
python基于event实现线程间通信控制
2020/01/13 Python
python 实现简易的记事本
2020/11/30 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
英国排名第一的最新设计师品牌手表独立零售商:TIC Watches
2016/09/24 全球购物
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
夫妻分居协议书范本
2014/11/28 职场文书