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之集成开发环境(IDE)
Sep 12 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
May 09 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
python验证码识别的示例代码
Sep 21 Python
Python批量提取PDF文件中文本的脚本
Mar 14 Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 Python
Django中的ajax请求
Oct 19 Python
python解析含有重复key的json方法
Jan 22 Python
python统计mysql数据量变化并调用接口告警的示例代码
Sep 21 Python
python压包的概念及实例详解
Feb 17 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
Jun 01 Python
Python Matplotlib绘制等高线图与渐变色扇形图
Apr 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
新闻分类录入、显示系统
2006/10/09 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
php之readdir函数用法实例
2014/11/13 PHP
6个超实用的PHP代码片段
2015/08/10 PHP
JSON取值前判断
2014/12/23 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python管理Windows服务小脚本
2018/03/12 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
Python实现Linux监控的方法
2019/05/16 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
pandas的排序和排名的具体使用
2019/07/31 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
EJB的激活机制
2013/10/25 面试题
毕业生自我鉴定
2013/11/05 职场文书
致跳高运动员广播稿
2014/01/13 职场文书
党员演讲稿
2014/09/04 职场文书
党支部承诺书
2015/01/20 职场文书
学校开除通知书
2015/04/25 职场文书
Go语言编译原理之变量捕获
2022/08/05 Golang