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 相关文章推荐
easy_install python包安装管理工具介绍
Feb 10 Python
python3实现ftp服务功能(服务端 For Linux)
Mar 24 Python
Python中表示字符串的三种方法
Sep 06 Python
Python实现基于二叉树存储结构的堆排序算法示例
Dec 08 Python
解决python opencv无法显示图片的问题
Oct 28 Python
使用k8s部署Django项目的方法步骤
Jan 14 Python
详解Python学习之安装pandas
Apr 16 Python
如何通过python画loss曲线的方法
Jun 26 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
Mar 08 Python
Python如何解决secure_filename对中文不支持问题
Jul 16 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
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
JS实现div居中示例
2014/04/17 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
js实现金山打字通小游戏
2020/07/24 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
简单介绍Python中的struct模块
2015/04/28 Python
解析Python编程中的包结构
2015/10/25 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
python单例设计模式实现解析
2020/01/07 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
python实现低通滤波器代码
2020/02/26 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
HTML5实现QQ聊天气泡效果
2017/06/26 HTML / CSS
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
外科实习自我鉴定
2013/10/06 职场文书
一年级学生期末评语
2014/04/21 职场文书
物理教育专业求职信
2014/06/25 职场文书
先进个人推荐材料
2014/12/29 职场文书
文案策划岗位职责
2015/02/11 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
python基础之爬虫入门
2021/05/10 Python
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL