百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python中优雅的使用字典(python中字典的操作方法)

off999 2024-10-13 04:21 61 浏览 0 评论

Python 中的字典是Python中一个键值映射的数据结构,下面介绍一下如何优雅的操作字典.


1.1 创建字典

Python有两种方法可以创建字典,第一种是使用花括号,另一种是使用内建 函数dict

>>> info = {}
>>> info = dict()

1.2 初始化字典

Python可以在创建字典的时候初始化字典

>>> info = {"name" : 'cold'}
>>> info = dict(name = 'cold') # 更优雅

很明显第二种方法更加的优雅和减少一些特殊字符的输入,但是有种情况第二种不能胜任

>>> key = 'name'
>>> info = { key :'cold'} # {'name':'cold'}
>>> info = dict(key = 'cold') # {'key': 'cold'}

明显第二种方法就会引发一个不容易找到的bug

Python字典还有一种初始化方式,就是使用字典的fromkeys方法可以从列表中获取元素作为键并用None或fromkeys方法的第二个参数初始化

>>> info = {}.fromkeys(['name', 'blog'])
>>> info
{'blog': None, 'name': None}
>>> info = dict().fromkeys(['name', 'blog'])
>>> info
{'blog': None, 'name': None}
>>> info = dict().fromkeys(['name', 'blog'], 'linuxzen.com')
>>> info
{'blog': 'linuxzen.com', 'name': 'linuxzen.com'}

1.3 优雅的获取键值

字典可以这样获取到键的值

>>> info = {'name':'cold', 'blog':'linuxzen.com'}
>>> info['name']
'cold'

但是如果获取不存在的键的值就会触发的一个KeyError异常,字典有一个get方法,可以使用字典get方法更加优雅的获取字典

>>> info = dict(name= 'cold', blog='www.linuxzen.com')
>>> info.get('name')
'cold'
>>> info.get('blogname')
None
>>> info.get('blogname', 'linuxzen')
'linuxzen'

我们看到使用get方法获取不存在的键值的时候不会触发异常,同时get方法接收两个参数,当不存在该键的时候就会返回第二个参数的值 我们可以看到使用get更加的优雅

1.4 更新/添加

Python 字典可以使用键作为索引来访问/更新/添加值

>>> info = dict()
>>> info['name'] = 'cold'
>>> info['blog'] = 'linuxzen.com'
>>> info
{'blog': 'linuxzen.com', 'name': 'cold'}
>>> info
{'blog': 'linuxzen.com', 'name': 'cold night'}

同时Python字典的update方法也可以更新和添加字典

>>> info = dict(name='cold', blog='linuxzen.com')
>>> info.update({'name':'cold night', 'blogname':'linuxzen'})
>>> info
{'blog': 'linuxzen.com', 'name': 'cold night', 'blogname': 'linuxzen'}
>>> info.update(name='cold', blog='www.linuxzen.com') # 更优雅
>>> info
{'blog': 'www.linuxzen.com', 'name': 'cold', 'blogname': 'linuxzen'}

Python字典的update方法可以使用一个字典来更新字典,也可以使用参数传递类似dict函数一样的方式更新一个字典,上面代码中哦功能的第二个更加优雅,但是同样和dict函数类似,键是变量时也只取字面值

1.5 字典删除

可以调用Python内置关键字del来删除一个键值

>>> info = dict(name='cold', blog='linuxzen.com')
>>> info
{'blog': 'linuxzen.com', 'name': 'cold'}
>>> del info['name']
>>> info
{'blog': 'linuxzen.com'}

同时也可以使用字典的pop方法来取出一个键值,并删除

>>> info = dict(name='cold', blog='linuxzen.com')
>>> info.pop('name')
'cold'
>>> info
{'blog': 'linuxzen.com'}

1.6 其他操作

获取所有key

>>> info = dict(name='cold', blog='linuxzen.com')
>>> info.keys()
['blog', 'name']

获取key,value并循环

>>> info = dict(name='cold', blog='linuxzen.com')
>>> for key, value in info.items():
... print key, ':', value
... 
blog : linuxzen.com
name : cold

相关推荐

cad图库(cad图块比例怎么调)

cad图库导入的操作步骤如下所示1、在CAD工作页面命令栏中输入imageattach命令;2、回车后提示选取导入图片的存储位置;3、选取图片后出现附着图片窗口;4、确定后在CAD窗口中选取插入位...

qq游戏大厅官网电脑版(qq游戏大厅pc版)
  • qq游戏大厅官网电脑版(qq游戏大厅pc版)
  • qq游戏大厅官网电脑版(qq游戏大厅pc版)
  • qq游戏大厅官网电脑版(qq游戏大厅pc版)
  • qq游戏大厅官网电脑版(qq游戏大厅pc版)
126网易免费邮箱(126网易免费邮箱注册官网)

126邮箱是网易的一个免费邮箱登录入口在浏览器输入:mail.126.com浏览器进入126邮箱网站之后,即可自行登录126邮箱账号。登陆入口https://www.126.com/126邮箱是网易公...

乒乓球直播在线观看免费(乒乓球直播在线观看免费全运会视频)

第一,首先看比赛战术安排。比如比赛对象的选择,主要是扬长避短。第二,看发球技术。发球取胜是重要一环。第三,看接发球技术。因前三板极为重要。第四,看相持球的处理。谁更有耐心,沉着应对等!想要观看乒乓球的...

爱奇艺视频免费下载安装(爱奇艺视频免费手机下载)
  • 爱奇艺视频免费下载安装(爱奇艺视频免费手机下载)
  • 爱奇艺视频免费下载安装(爱奇艺视频免费手机下载)
  • 爱奇艺视频免费下载安装(爱奇艺视频免费手机下载)
  • 爱奇艺视频免费下载安装(爱奇艺视频免费手机下载)
qq安全管家 手机版(qq安全管家怎么卸载)

您好,亲爱的管家用户  坏人可能会通过木马或钓鱼网站骗取您输入的动态密码,进而进行其他恶意操作。建议您对QQ号码经常使用的电脑及手机进行全盘查杀,平时输密码密保前一定要认真辨别官网和官方客户端。 ...

邮箱注册入口(example邮箱注册入口)
邮箱注册入口(example邮箱注册入口)

可在网易邮箱官网注册邮箱账号并登录。步骤如下:1.打开网易邮箱官网,点击“立即注册”,进入注册界面。3.回到之前的页面,输入账号密码登录即可使用。网易邮箱的优势之——安全稳定提供HTTPS登录和SSL邮件加密功能,保证通信安全,无须...

2026-01-23 18:51 off999

腾讯视频会员免费领取(腾讯视频会员免费领取网站)
腾讯视频会员免费领取(腾讯视频会员免费领取网站)

步骤/方式1打开腾讯视频APP,点击下方中间标签"新春特惠",找到"免费领VIP"。步骤/方式2点击"免费领VIP",界面跳转点微视活动界面。步骤/方式3领腾讯会员需要做微视任务,签到7天可以领1天VIP会员。...

2026-01-23 18:43 off999

二战风云2无限钻石水晶版(二战风云2破解版无限资源)

要想得高分,简洁点,就是向前行动是坦克,与反坦克炮一起,反坦克炮到达位置架设,接着在坦克即将到达时摩托化部队前进。毕竟能省点时间就省点时间,因为这个游戏,时间很重要。如果是1v2,那就,守城市,反坦...

一键抠图网页版(抠图网页版)
  • 一键抠图网页版(抠图网页版)
  • 一键抠图网页版(抠图网页版)
  • 一键抠图网页版(抠图网页版)
  • 一键抠图网页版(抠图网页版)
高清多功能视频播放器(多功能视屏播放器)

多功能高清视频播放器使用起来非常简单,首先将视频文件传输到播放器中,然后通过遥控器或者触摸屏操作选择要播放的视频。用户可以根据需要进行视频播放设置,如调整音量、播放速度等。此外,播放器还支持多种视频格...

老版街机游戏大全(开火车老虎机(单机版))

横版过关:快打旋风,恐龙新世纪,名将,吞食天地赤壁之战,圆桌武士,变身忍者,惩罚者,飞机射击:彩京打击者1945,战国世纪,四国战机,太阳表决,格斗:街霸系列,KOF系列,VR战士系列,铁拳系列,死或...

下载本地歌曲免费(下载本地歌曲免费听)
  • 下载本地歌曲免费(下载本地歌曲免费听)
  • 下载本地歌曲免费(下载本地歌曲免费听)
  • 下载本地歌曲免费(下载本地歌曲免费听)
  • 下载本地歌曲免费(下载本地歌曲免费听)
内存清理大师(内存清理大师V1.2.6官方版)
内存清理大师(内存清理大师V1.2.6官方版)

1、打开手机清理大师应用APP2、点击扫描垃圾3、在弹出来的窗口点击清理垃圾4、最后即可清理完成在手机中设置里的通用里储存空间与iCloud进行清除。操作方法点开设置->通用->储存空间与iCloud用量点击储存空间-...

2026-01-23 17:03 off999

登录器下载安装(云端辅助登录器下载安装)

有其他的程序正在使用中,你电脑重新启动一次再删除dlq试试,或者把其他的程序都关了然后再重新安装一次再删除.祝你好运!!!!!!!!!!!!1国服的下载很简单,和当年CF、逆战的方式一样,我们直接...

取消回复欢迎 发表评论: