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 相关文章推荐
pycharm 使用心得(三)Hello world!
Jun 05 Python
Python中for循环控制语句用法实例
Jun 02 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
Sep 11 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
Dec 20 Python
详解python使用Nginx和uWSGI来运行Python应用
Jan 09 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
使用Django启动命令行及执行脚本的方法
May 29 Python
Python替换月份为英文缩写的实现方法
Jul 15 Python
浅谈Python中函数的定义及其调用方法
Jul 19 Python
详解python中的异常和文件读写
Jan 03 Python
python os.listdir()乱码解决方案
Jan 31 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脚本数据库功能详解(下)
2006/10/09 PHP
PHP之COOKIE支持详解
2010/09/20 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
JS之获取样式的简单实现方法(推荐)
2016/09/13 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
js实现限定区域范围拖拉拽效果
2020/11/20 Javascript
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
Linux下Python获取IP地址的代码
2014/11/30 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
python判断自身是否正在运行的方法
2019/08/08 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
Python configparser模块操作代码实例
2020/06/08 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
WiFi云数码相框:Nixplay
2018/07/05 全球购物
Europcar意大利:汽车租赁
2019/07/07 全球购物
公务员职业生涯规划书范文  
2014/01/19 职场文书
体育个人工作总结
2015/02/09 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫