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 + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
Jul 14 Python
python绘制散点图并标记序号的方法
Dec 11 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
Python通过paramiko远程下载Linux服务器上的文件实例
Dec 27 Python
利用Django提供的ModelForm增删改数据的方法
Jan 06 Python
python中for循环把字符串或者字典添加到列表的方法
Jul 20 Python
python实现批量修改服务器密码的方法
Aug 13 Python
Python Tkinter模块 GUI 可视化实例
Nov 20 Python
更新升级python和pip版本后不生效的问题解决
Apr 17 Python
python PIL模块的基本使用
Sep 29 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
Dec 21 Python
4种方法python批量修改替换列表中元素
Apr 07 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分页代码学习示例分享
2014/02/20 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
浅谈webpack编译vue项目生成的代码探索
2017/12/11 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
JS实现继承的几种常用方式示例
2019/06/22 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
Python操作列表之List.insert()方法的使用
2015/05/20 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
深入理解Django的自定义过滤器
2017/10/17 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
2020/03/28 Python
酒店人事专员岗位职责
2013/12/19 职场文书
关于元旦的广播稿
2014/02/16 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
C++程序员求职信
2014/05/07 职场文书
教师批评与自我批评范文
2014/10/15 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
运动会3000米加油稿
2015/07/21 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android