Python字典操作详细介绍及字典内建方法分享


Posted in Python onJanuary 04, 2018

创建

方法一:

>>> dict1 = {}
>>> dict2 = {'name': 'earth', 'port': 80}
>>> dict1, dict2
({}, {'port': 80, 'name': 'earth'})

方法二:从Python 2.2 版本起,可以使用一个工厂方法,传入一个元素是列表的元组作为参数

>>> fdict = dict((['x', 1], ['y', 2]))
>>> fdict
{'y': 2, 'x': 1}

方法三:

从Python 2.3 版本起, 可以用一个很方便的内建方法fromkeys() 来创建一个"默认"字典, 字典中元素具有相同的值 (如果没有给出, 默认为None,这个有点像我框架的oneObject方法):

>>> ddict = {}.fromkeys(('x', 'y'), -1) 
>>> ddict
{'y': -1, 'x': -1}
>>>
>>> edict = {}.fromkeys(('foo', 'bar'))
>>> edict
{'foo': None, 'bar': None}

访问字典中的值

想遍历一个字典(一般用键), 你只需要循环查看它的键, 像这样:

>>> dict2 = {'name': 'earth', 'port': 80}
>>>
>>>> for key in dict2.keys():
... print 'key=%s, value=%s' % (key, dict2[key])
...
key=name, value=earth
key=port, value=80

从Python 2.2 开始,可以直接在 for 循环里遍历字典。

>>> dict2 = {'name': 'earth', 'port': 80}
>>>
>>>> for key in dict2:
... print 'key=%s, value=%s' % (key, dict2[key])
...
key=name, value=earth
key=port, value=80

想判定其是否存在某个键值对,可以使用has_key()或 in 、 not in 操作符

>>> 'server' in dict2 # 或 dict2.has_key('server')
False
>>> 'name' in dict # 或 dict2.has_key('name')
True
>>> dict2['name']
'earth'

一个字典中混用数字和字符串的例子:

>>> dict3 = {}
>>> dict3[1] = 'abc'
>>> dict3['1'] = 3.14159
>>> dict3[3.2] = 'xyz'
>>> dict3
{3.2: 'xyz', 1: 'abc', '1': 3.14159}

更新字典

采取覆盖更新

上例中 dict2['name']='earth';

更新 dict2['name']='abc';

删除字典元素和字典

del dict2['name'] # 删除键为“name”的条目

dict2.clear() # 删除dict2 中所有的条目

del dict2 # 删除整个dict2 字典

dict2.pop('name') # 删除并返回键为“name”的条目

dict2 = {'name': 'earth', 'port': 80}
>>> dict2.keys()
['port', 'name']
>>>
>>> dict2.values()
[80, 'earth']
>>>
>>> dict2.items()
[('port', 80), ('name', 'earth')]
>>>
>>> for eachKey in dict2.keys():
... print 'dict2 key', eachKey, 'has value', dict2[eachKey]
...
dict2 key port has value 80
dict2 key name has value earth

update()方法可以用来将一个字典的内容添加到另外一个字典中

dict3 = {'server': 'http', 'port': 80, 'host': 'venus'}
>>> dict3.clear()
>>> dict3
{}

映射类型相关的函数

>>> dict(x=1, y=2)
{'y': 2, 'x': 1}
>>> dict8 = dict(x=1, y=2)
>>> dict8
{'y': 2, 'x': 1}
>>> dict9 = dict(**dict8)
>>> dict9
{'y': 2, 'x': 1}
 
dict9 = dict8.copy()

字典内建方法

方法名字 操作
dict.clear() 删除字典中所有元素
dict.copy() 返回字典(浅复制)的一个副本
dict.fromkeysc(seq,val=None) 创建并返回一个新字典,以seq 中的元素做该字典的键,val 做该字典中所有键对应的初始值(如果不提供此值,则默认为None)
dict.get(key,default=None) 对字典dict 中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值(注意,参数default 的默认值为None)
dict.has_key(key) 如果键(key)在字典中存在,返回True,否则返回False. 在Python2.2版本引入in 和not in 后,此方法几乎已废弃不用了,但仍提供一个 可工作的接口。
dict.items() 返回一个包含字典中(键, 值)对元组的列表
dict.keys() 返回一个包含字典中键的列表
dict.values() 返回一个包含字典中所有值的列表
dict.iter() 方法iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。
dict.pop(key[, default]) 和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常。
dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。
dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。

总结

以上就是本文关于Python字典操作详细介绍及字典内建方法分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
python学习教程之Numpy和Pandas的使用
Sep 11 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
Sep 25 Python
python selenium爬取斗鱼所有直播房间信息过程详解
Aug 09 Python
解决Mac下使用python的坑
Aug 13 Python
Python环境Pillow( PIL )图像处理工具使用解析
Sep 12 Python
python导入不同目录下的自定义模块过程解析
Nov 18 Python
在OpenCV里实现条码区域识别的方法示例
Dec 04 Python
python爬取王者荣耀全皮肤的简单实现代码
Jan 31 Python
python设置环境变量的作用整理
Feb 17 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 #Python
Python给你的头像加上圣诞帽
Jan 04 #Python
Python编程实现线性回归和批量梯度下降法代码实例
Jan 04 #Python
Python语言描述随机梯度下降法
Jan 04 #Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
Jan 04 #Python
python使用xpath中遇到:到底是什么?
Jan 04 #Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
Jan 04 #Python
You might like
phpMyadmin 用户权限中英对照
2010/04/02 PHP
Zend Studio (eclipse)使用速度优化方法
2011/03/23 PHP
PHP操作数组的一些函数整理介绍
2011/07/17 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
Firefox中autocomplete="off" 设置不起作用Bug的解决方法
2011/03/25 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
python实现文件分组复制到不同目录的例子
2014/06/04 Python
简单谈谈python中的语句和语法
2017/08/10 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
python得到单词模式的示例
2018/10/15 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
python如何保存文本文件
2020/06/07 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
银行实习生自我鉴定范文
2013/09/19 职场文书
《白鹅》教学反思
2014/04/13 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
2014年领班工作总结
2014/11/25 职场文书
继承公证书格式
2015/01/26 职场文书
学生会辞职信
2015/03/02 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python