Python内置数据类型之Dict
来源:互联网 发布:everyonepiano软件下载 编辑:程序博客网 时间:2024/06/06 17:49
Dict字典,是另一种可变类型的容器模型,可以存储任意类型对象。
1、字典的创建
字典的每个键值对(key->value)使用冒号(:)分隔,键值对之间使用逗号(,)分隔,使用花括号{}包含元素。键必须是唯一的,值可以不唯一。
值可以选取任意数据类型,但键必须是不可变的,如数字、字符串、元组。下面是一个字典的实例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}还可以创建一个空字典:
dict={}2、字典的访问
可以简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:
print dict['Beth']结果:
9102
如果方括号中的key存在就会返回对应的value,如果不存在则会报错:KeyError。
有两种方法可以避免KeyError:
(1)在使用key访问字典之前先判断一下key是否存在:
if 'Beth' in dict: print dict['Beth'](2)使用Dict本身提供的get方法,当key不存在时返回None:
print dict.get('Tom') #None3、修改字典
修改字典的方法有添加新的键值对,修改已有key的value和删除已有的键值对:
(1)添加新的键值对:
dict['Tom']='1234' #add new entrydict['Alice']='0000' #update existing entryprint dict结果:
{'Alice': '0000', 'Beth': '9102', 'Cecil': '3258','Tom':'1234'}
4、删除字典元素
可以删除字典元素,清空字典,还可以删除整个字典:
del dict['Tom'] #删除某一个条目dict.clear() #清空字典,但dict还存在,是一个空字典del dict #显示删除字典,dict不存在,再次访问会出错5、字典的特点
(1)dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
由于字典是按key查找元素的,因此字典中的key不能重复。
(2)dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样。也就是说,字典是无序的,不能用来存储有序的集合。
(3)dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数还有元组都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。不过value是可变的。
6、字典的遍历
dict也是一个集合,所以它的遍历和list类似,一个for循环就可以遍历:
dict = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }for key in dict: print key+":"+str(dict[key])结果:
Lisa:85Adam:95Bart:597、字典的迭代
字典类型有几个内置函数可以用来迭代字典元素:keys()、values()、items():
keys返回字典的所有键构成的list,values返回所有值构成的list,item返回由键值对组成的list:
现在就可以这样迭代字典了:
for key,value in dict: print key,":",value结果:
Lisa:85Adam:95Bart:598、Python内置函数
- Python内置数据类型之Dict
- Python数据类型 之 dict
- python内置数据类型:list,tuple,dict比较
- python数据类型之 dict(map)
- PYTHON内置数据类型( list ,tuple ,dict,set)
- Python内置数据类型之list
- Python内置数据类型之Tuple
- python学习之内置数据类型
- Python,dict数据类型
- Python中内置数据类型list,tuple,dict,set的区别和用法
- Python中内置数据类型list,tuple,dict,set的区别和用法
- Python语言入门之内置数据类型
- python之dict
- PYTHON之Ordered Dict
- python学习--之dict
- Python入门 之 dict
- Python之dict
- python基础之dict
- android studio1.4新建工程运行出错
- iOS拨打电话
- 解决Sublime Text 3中文显示乱码(tab中文方块)问题
- 在win7旗舰版64位系统中,qtp破解密钥时,程序运行马上提示已停止工作
- AIR功能扩展的分享
- Python内置数据类型之Dict
- 性能优化,进无止境---CPU篇
- vs2010编译时出现错误提示:error C2470: “xx”: 看起来像函数定义,但没有参数列表;跳过明显的函数体
- UVa 122 Trees on the level(二叉树层次遍历)
- UINavigationBar 的设置
- windows genymotion 安装报错和idea启动genymotion报错
- 如何快速修改iMindMap Android中关联线格式
- Java序列化与反序列化
- retrofit 错误解析