1.字典:唯一内建的映射类型,字典中的值没有特殊的顺序,都是存储在一个特定的键 (Key)里面,键可以是数字 字符串 元组
2.dict函数:可以用dict函数,通过其他映射(比如其他字典)或则(键,值)这样的序列对 建立字典
>>>iterms = [('name,'joy'),('age',50)]
>>>a = dict(iterms) #dict通过序列对建立字典
>>>print a
{'age':50,'name':'joy'}
>>>d = dict(name='joy',age=50)#也可用关键字参数建立字典
>>>print d
{'age':50,'name':'joy'}
3.基本字典操作
len(d)返回d字典中项(键值对)的数量
d[k]返回关联到键k上的值
d[k]= v将值v关联到键k上
del d[k]删除键为k的项
k in d检查d中是否含有键为k的项
4.字典的格式化字符串
>>>phonebook = {'Beth':'9102','Alice':'2341','Cecil':'3258'}
>>>"Cecil's phone number is %(Cecil)s." % phonebook
"Cecils phone number is 3258"
5.字典方法
(1)clear 清除字典中所有的项,原地操作,类似list sort,无返回值(或者返回None)
>>>d = {'name':'joy','age',50}
>>>d.clear()
>>>print d
{}
(2)copy 返回一个具有相同键-值对的新字典(这个方法是浅复制)
>>>x = d.copy()
>>>print x
{'name':'joy','age',50}
(3)fromkeys 使用给定的键建立新的字典,每个键默认对应的值是None
>>>{}.fromakeys(['name','age'])
{'age':None,'name':None}
>>>dict.fromkeys(['name','age'],'(Unknown)') #可以自己提供默认值
(4)get 访问字典项
>>>d = {}
>>>d.get('name') #当键对应的值为空时返回None
None
(5)has_key 检查字典中是否给出的键,返回布尔值,功能和 k in d类似
>>>d = {}
>>>d.has_key('name')
False
(6)items和iteritems
items把所有的字典项以列表的方式返回,没有特殊顺序
>>>d = {'name':'joy','age':50}
>>>d.items()
[('name','joy'),('age'.50)]
iteritems与items大致相同,但是会返回一个迭代器对象而不是列表
>>>list(d.iteritems())
[('name','joy'),('age'.50)]
(7)keys和iterkeys
keys方法将字典中键以列表方式返回,而iterkeys返回一个迭代器对象
(8)pop 方法用来获得对应于给定键的值,然后将这个键-值对从字典中删除
>>>d = {'x':1,'y':2}
>>>d.pop('x')
1
>>>print d
{'y':2}
(9)popitem类似于list.pop,不过是随机删除字典中的一个项,适合一个接一个删除
>>>d = {'x':1,'y':2}
>>>d.popitem()
>>>print d
{'x':1}
(10)setdefualt类似get方法,还能在字典中不含有给定键的情况下设定键值
>>>d = {}
>>>d.setdefault('x',1)
1
>>>d
{'x':1}
(11)update利用一个字典项更新另外一个字典
>>>d = {'x':1,'y':2}
>>>b = {'x':100,'z':5}
>>>d.update(b)
>>>d
{'x':100,'y':2,'z':5}
(12)values和itervalues
values以列表的方式返回字典中的值(itervalues返回值的迭代器),与返回 键的列表不同的是,返回值的列表中可以包含重复的元素