Python基础之字典常见操作经典实例详解


Posted in Python onFebruary 26, 2020

本文实例讲述了Python基础之字典常见操作。分享给大家供大家参考,具体如下:

Python字典

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

创建字典

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

>>> info = {}
>>> info = dict()
初始化字典

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'], 'luckycyong.com')
>>> info
{'blog': 'luckycyong.com', 'name': 'luckycyong.com'}
优雅的获取键值

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

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

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

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

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

更新/添加

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

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

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

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

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

字典删除

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

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

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

>>> info = dict(name='cold', blog='luckycyong.com')
>>> info.pop('name')
'cold'
>>> info
{'blog': 'luckycyong.com'}
其他操作

获取所有key

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

获取key,value并循环

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

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python 字符串split的用法分享
Mar 23 Python
web.py中调用文件夹内模板的方法
Aug 26 Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 Python
python实现媒体播放器功能
Feb 11 Python
Python Unittest自动化单元测试框架详解
Apr 04 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
我们为什么要减少Python中循环的使用
Jul 10 Python
Python学习笔记之函数的定义和作用域实例详解
Aug 13 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
Pandas的数据过滤实现
Jan 15 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 #Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 #Python
Python如何使用turtle库绘制图形
Feb 26 #Python
Python解释器以及PyCharm的安装教程图文详解
Feb 26 #Python
Python定时器线程池原理详解
Feb 26 #Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 #Python
Python列表解析操作实例总结
Feb 26 #Python
You might like
php遍历目录viewDir函数
2009/12/15 PHP
一步一步学习PHP(3) php 函数
2010/02/15 PHP
php session 写入数据库
2016/02/13 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
TNC vs BOOM BO3 第二场2.13
2021/03/10 DOTA
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
express如何使用session与cookie的方法
2018/01/30 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
[01:06]DOTA2亚洲邀请赛专属珍藏-荧煌之礼
2017/03/24 DOTA
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
python中的常量和变量代码详解
2018/07/25 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
Python匿名函数及应用示例
2019/04/09 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
广州迈达威.net面试题目
2012/03/10 面试题
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
土木工程毕业生自荐信
2013/11/12 职场文书
留学生如何写好自荐信
2013/12/27 职场文书
班组长岗位职责范本
2014/01/05 职场文书
2014年营销工作总结
2014/11/22 职场文书
2014年变电站工作总结
2014/12/19 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
小学英语教学反思范文
2016/02/15 职场文书
关于MySQL中explain工具的使用
2023/05/08 MySQL