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 相关文章推荐
精确查找PHP WEBSHELL木马的方法(1)
Apr 12 Python
python教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
深入解析Python的Tornado框架中内置的模板引擎
Jul 11 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
python 创建弹出式菜单的实现代码
Jul 11 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
python多线程实现TCP服务端
Sep 03 Python
python调用接口的4种方式代码实例
Nov 19 Python
python [:3] 实现提取数组中的数
Nov 27 Python
Django之全局使用request.user.username的实例详解
May 14 Python
python和php哪个容易学
Jun 19 Python
pandas处理csv文件的方法步骤
Oct 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
用PHP和ACCESS写聊天室(四)
2006/10/09 PHP
php读取数据库信息的几种方法
2008/05/24 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
拖动时防止选中
2017/02/03 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
jQuery实现上下滚动公告栏详细代码
2018/11/21 jQuery
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
财务会计人员岗位职责
2013/11/30 职场文书
校园餐饮创业计划书
2014/01/10 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
倡议书格式
2014/08/30 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
小学生学习保证书
2015/02/26 职场文书
白银帝国观后感
2015/06/17 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技