一、什么是字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key->value)对用(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下

d = {key1 : value1 , key2 : value2}

键必须是唯一的,但值不必。

值可以取任何数据类型,但键必须是不可变的

二、访问字典里的值

info = {'name':'SQYY','sex':'man','age':'19'}
print "info['name']:",info['name']
print "info['age']:",info['age']

以上实例结果:

info['name']: SQYY
info['age']: 19

三、修改字典元素

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对

#coding=utf-8
info = {'name':'SQYY','sex':'man','age':'19'}
#修改一个字典
info['age'] = 20  
#添加一个字典
info['address'] = "China" 
print "info['age']:",info['age']
print "info['address']:",info['address']

以上实例结果:

info['age']: 20
info['address']: China

四、删除字典元素

1、del 删除整个字典

#coding=utf-8
info = {'name':'SQYY','sex':'man','age':'19'}
print '删除前',info
del info
print '删除后',info

以上实例结果:

del后字典不存在,所以会显示报错

删除前 {'age': '19', 'name': 'SQYY', 'sex': 'man'}
删除后

Traceback (most recent call last):
  File "C:\Python27\test.py", line 5, in <module>
    print '删除后',info
NameError: name 'info' is not defined

2、clear清空整个字典

#coding=utf-8
info = {'name':'SQYY','sex':'man','age':'19'}
print '删除前',info
info.clear()
print '删除后',info

以上显示结果

删除前 {'age': '19', 'name': 'SQYY', 'sex': 'man'}
删除后 {}

五、字典包含的内置方法

 

序号

函数及描述

1

dict.clear()删除字典内所有元素

2

dict.copy()返回一个字典的浅复制

3

dict.fromkeys(seq[, val])) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值

4

dict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值

5

dict.has_key(key)如果键在字典dict里返回true,否则返回false

6

dict.items()以列表返回可遍历的(键, 值) 元组数组

7

dict.keys()以列表返回一个字典所有的键

8

dict.setdefault(key, default=None)

和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

9

dict.update(dict2)把字典dict2的键/值对更新到dict里

10

dict.values()以列表返回字典中的所有值

11

pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。

否则,返回default值。

12

popitem()随机返回并删除字典中的一对键和值。

   

 

#coding=utf-8
dict = {'name':'SQYY','age':'19'}
#字典中键值对的个数
print len(dict)
#返回一个包含字典所有KEY的列表
print dict.keys()
#返回字典所有的value的列表
print dict.values()
#返回一个包含(键,值)元祖的列表
print dict.items()
#如果key在字典中,返回True,否则返回False
print dict.has_key('name')

以上代码实例:

2
['age', 'name']
['19', 'SQYY']
[('age', '19'), ('name', 'SQYY')]
True