您的位置:首页 > 编程语言 > Python开发

Python内置数据类型之Dict

2016-03-02 11:25 253 查看
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') #None
3、修改字典

修改字典的方法有添加新的键值对,修改已有key的value和删除已有的键值对:

(1)添加新的键值对:

dict['Tom']='1234' #add new entry
dict['Alice']='0000' #update existing entry
print 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:85
Adam:95
Bart:59

7、字典的迭代

字典类型有几个内置函数可以用来迭代字典元素:keys()、values()、items():

keys返回字典的所有键构成的list,values返回所有值构成的list,item返回由键值对组成的list:



现在就可以这样迭代字典了:

for key,value in dict:
print key,":",value
结果:

Lisa:85
Adam:95
Bart:59

8、Python内置函数

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: