python中字典(Dictionary)用法实例详解


Posted in Python onMay 30, 2015

本文实例讲述了python中字典(Dictionary)用法。分享给大家供大家参考。具体分析如下:

字典(Dictionary)是一种映射结构的数据类型,由无序的“键-值对”组成。字典的键必须是不可改变的类型,如:字符串,数字,tuple;值可以为任何python数据类型。

1、新建字典

>>> dict1={} #建立一个空字典
>>> type(dict1)
<type 'dict'>

2、增加字典元素:两种方法

>>> dict1['a']=1 #第一种
>>> dict1
{'a': 1}
#第二种:setdefault方法
>>> dict1.setdefault('b',2)
2
>>> dict1
{'a': 1, 'b': 2}

3、删除字典

#删除指定键-值对
>>> dict1
{'a': 1, 'b': 2}
>>> del dict1['a'] #也可以用pop方法,dict1.pop('a')
>>> dict1
{'b': 2}
#清空字典
>>> dict1.clear()
>>> dict1 #字典变为空了
{}
#删除字典对象
>>> del dict1
>>> dict1
Traceback (most recent call last):
 File "<interactive input>", line 1, in <module>
NameError: name 'dict1' is not defined

4、字典的方法

1)get(key,default=None)

返回键值key对应的值;如果key没有在字典里,则返回default参数的值,默认为None

>>> dict1 #空的字典
{}
>>> dict1.get('a') #键‘a'在dict1中不存在,返回none
>>> dict1.get('d1','no1')  #default参数给出值'no1',所以返回'no1'
'no1'
>>> dict1['a']='no1' #插入一个新元素
>>> dict1
{'a': '1111'}
>>> dict1.get('a') #现在键'a'存在,返回其值
'1111'

2)clear 清空字典

3)has_key(key) 如果key出现在dict里则返回True;否则返回False

>>> dict1
{'a': '1111'}
>>> dict1.has_key('b')
False
>>> dict1.has_key('a')
True

4)items 返回dict的(键,值)tuple对的一个列表

>>> dict1
{'a': 'no1', 'b': '2222'}
>>> dict1.items()
[('a', 'no1'), ('b', '2222')]

5)keys 返回dict的键列表

6)values 返回dict的值列表

>>> dict1
{'a': 'no1', 'b': '2222'}
>>> dict1.keys()
['a', 'b']
>>> dict1.values()
['no1', '2222']

7)setdefault(key,default=None)

如果dict中有key,则返回key值,如果没有找到key,则在dict中加上该key,值由default参数给出,默认None

8)update(dict2)

把dict2的元素加入到dict中去,键字重复时会覆盖dict中的键值

>>> dict2
{'c': '3333', 'b': 'no2'}
>>> dict1 #dict2和dict1的键‘b'重复
{'a': 'no1', 'b': '2222'}
>>> dict1.update(dict2) #调用update后,dict1的键'b'值被覆盖了
>>> dict1
{'a': 'no1', 'c': '3333', 'b': 'no2'}

9)popitem 删除任意键-值对,并返回该键-值对,如字典为空,则产生异常

>>> dict1
{'b': 'no2'}
>>> dict1.popitem()
('b', 'no2')
>>> dict1
{}
>>> dict1.popitem()
Traceback (most recent call last):
 File "<interactive input>", line 1, in <module>
KeyError: 'popitem(): dictionary is empty'

10)pop(key,[d]) 删除指定键字的键-值对,并返回该键对应的值

>>> dict1
{'a': 'no1', 'c': '3333', 'b': 'no2'}
>>> dict1.pop('a')
'no1'
>>> dict1
{'c': '3333', 'b': 'no2'}

11)copy 返回字典的一个浅拷贝

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

Python 相关文章推荐
Python中for循环详解
Jan 17 Python
Python函数参数类型*、**的区别
Apr 11 Python
python列出目录下指定文件与子目录的方法
Jul 03 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
Python自定义函数定义,参数,调用代码解析
Dec 27 Python
python解析html提取数据,并生成word文档实例解析
Jan 22 Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 Python
Python文件读写保存操作的示例代码
Sep 14 Python
Python3使用TCP编写一个简易的文件下载器功能
May 08 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
python pptx复制指定页的ppt教程
Feb 14 Python
python集合用法实例分析
May 30 #Python
基于wxpython实现的windows GUI程序实例
May 30 #Python
python简单实现旋转图片的方法
May 30 #Python
Python实现控制台输入密码的方法
May 29 #Python
python删除过期文件的方法
May 29 #Python
Python的Django框架中TEMPLATES项的设置教程
May 29 #Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
May 29 #Python
You might like
一些php技巧与注意事项分析
2011/02/03 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
php跨域调用json的例子
2013/11/13 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python 获取et和excel的版本号
2009/04/09 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
python适合人工智能的理由和优势
2019/06/28 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
Python3基于plotly模块保存图片表格
2020/08/03 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
python实现移动木板小游戏
2020/10/09 Python
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
购房协议书范本
2014/04/11 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
爱情保证书
2015/01/17 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
费城故事观后感
2015/06/10 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
Python Django项目和应用的创建详解
2021/11/27 Python
解决Redis启动警告问题
2022/02/24 Redis
Python实现仓库管理系统
2022/05/30 Python