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 client使用http post 到server端的代码
Feb 10 Python
Python数据类型详解(二)列表
May 08 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
python3操作mysql数据库的方法
Jun 23 Python
Python从零开始创建区块链
Mar 06 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
python集合是否可变总结
Jun 20 Python
python列表插入append(), extend(), insert()用法详解
Sep 14 Python
python实现数字炸弹游戏程序
Jul 17 Python
python一些性能分析的技巧
Aug 30 Python
使用python对excel表格处理的一些小功能
Jan 25 Python
使用pycharm运行flask应用程序的详细教程
Jun 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 冒泡排序 交换排序法
2011/05/10 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
php字符串分割函数用法实例
2015/03/17 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
基于jQuery实现一个marquee无缝滚动的插件
2017/03/09 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
Python变量和字符串详解
2017/04/29 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
python两个_多个字典合并相加的实例代码
2019/12/26 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
经贸日语毕业生自荐信
2013/11/03 职场文书
自我鉴定范文
2013/11/10 职场文书
金属材料工程个人求职的自我评价
2013/12/04 职场文书
高一家长会邀请函
2014/01/12 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
校庆筹备方案
2014/03/30 职场文书
培训讲师岗位职责
2014/04/13 职场文书
讲文明树新风演讲稿
2014/05/12 职场文书
欢迎领导标语
2014/06/27 职场文书
幼儿园教师求职信
2015/03/20 职场文书
毕业设计致谢语
2015/05/14 职场文书