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连接mssql数据库编码问题解决方法
Jan 01 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
Nov 21 Python
用十张图详解TensorFlow数据读取机制(附代码)
Feb 06 Python
python实现决策树、随机森林的简单原理
Mar 26 Python
python numpy实现文件存取的示例代码
May 26 Python
Python面向对象之Web静态服务器
Sep 03 Python
Python使用贪婪算法解决问题
Oct 22 Python
python 操作hive pyhs2方式
Dec 21 Python
Python逐行读取文件内容的方法总结
Feb 14 Python
Python通过socketserver处理多个链接
Mar 18 Python
python pyg2plot的原理知识点总结
Feb 28 Python
Python实现日志实时监测的示例详解
Apr 06 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 多维数组排序实现代码
2009/08/05 PHP
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
PHP中isset与array_key_exists的区别实例分析
2015/06/02 PHP
yii分页组件用法实例分析
2015/12/28 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
使用python加密自己的密码
2015/08/04 Python
超实用的 30 段 Python 案例
2019/10/10 Python
Django实现分页显示效果
2019/10/31 Python
python数值基础知识浅析
2019/11/19 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
python简单实现最大似然估计&amp;scipy库的使用详解
2020/04/15 Python
python热力图实现简单方法
2021/01/29 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
会计求职信范文
2014/05/24 职场文书
法学专业毕业生求职信
2014/06/12 职场文书
年度考核表个人总结
2015/03/06 职场文书
幼儿园六一主持词
2015/06/30 职场文书
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏