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中实现的RC4算法
Feb 14 Python
python: line=f.readlines()消除line中\n的方法
Mar 19 Python
python感知机实现代码
Jan 18 Python
Python企业编码生成系统之系统主要函数设计详解
Jul 26 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
详解python破解zip文件密码的方法
Jan 13 Python
python orm 框架中sqlalchemy用法实例详解
Feb 02 Python
Python3.7 读取音频根据文件名生成脚本的代码
Apr 07 Python
Django+RestFramework API接口及接口文档并返回json数据操作
Jul 12 Python
Python使用socket模块实现简单tcp通信
Aug 18 Python
Python调用飞书发送消息的示例
Nov 10 Python
python pillow库的基础使用教程
Jan 13 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源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
php中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
php 类自动载入的方法
2015/06/03 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
PHP Include文件实例讲解
2019/02/15 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
jQuery模拟黑客帝国矩阵效果实例
2015/06/28 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
追讨欠款律师函
2015/06/24 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
jquery插件实现图片悬浮
2021/04/16 jQuery
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python