Python学习笔记-第四章-字典

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返回值的迭代器),与返回                 键的列表不同的是,返回值的列表中可以包含重复的元素

你可能感兴趣的:(Python学习笔记-第四章-字典)