python学习3 -字典

字典:都可以叫通过轻松查找某个特定的词语(键),从而找到他的定义(值)。

创建和使用字典:

>>> phonebook = {'zhang':'231','wang':'123'}

  dict 函数:可以通过dict函数,通过其他映射(比如其他字典)或者(键,值)对的序列建立字典

>>> items  = [('name','zhang'),('age',2)]
>>> d  = dict(items)
>>> d
{'age': 2, 'name': 'zhang'}
>>> d["name"]
'zhang'

#dict 函数也可以通过关键字参数来创建字典
>>> d = dict(name ="zhang",age=2)
>>> d
{'age': 2, 'name': 'zhang'}

  字典的基本操作

  字典的基本行为在很多方面与序列类似

    len(d) --返回d中 键值对的数量

    d[k]  --返回键K的值

    d[k] = v --将V值赋值到 K键上   (若K 不在 d中,则自动添加到d 中,与序列不同)

    del d[k]  --删除 键为K 的值

    k in d  --检查d中是否含有键为K 的项  (注意:查找的是键)

  字典的格式化字符串

  在每个转换说明符中的%后 加上键(用括号),后面再更上其他说明元素

>>> phonebook = {'zhang':'123','wang':'555'}
>>> "zhang's phone number is %(zhang)s." % phonebook
"zhang's phone number is 123."

  字典的方法

    1.clear -- 清除字典中的所有项。无返回值,或者可以理解为 返回None

>>> d = {}
>>> d['name'] = 'zhang'
>>> d['age'] = 23
>>> d
{'age': 23, 'name': 'zhang'}
>>> return_value = d.clear()
>>> print return_value

      2.copy   与 deepcopy  复制

    3.from_keys  --使用给点的键 建立新的字典

    4.get  更宽松的访问字典的方法,如果键 不存在 返回None

    5.has_key  与 in 方法一样

    6.items 和 iteritems    --keys  和 iterkeys

      items  --将字典所有项以列表方式返回 列表中每一项都会表示为(键,值)对的形式,但没有什么次序

      iteritems --作用大致相同,但会返回一个迭代器,而不是列表

>>> d = {'titile':'i am a tiger','age':10}
>>> d.items()
[('age', 10), ('titile', 'i am a tiger')]
>>> it = d.iteritems()
>>> it
<dictionary-itemiterator object at 0x02B136C0>

    7.pop --用来获得对应于 键的值,并删除这对键值对

>>> d
{'age': 10, 'titile': 'i am a tiger'}
>>> d.pop('age')
10
>>> d
{'titile': 'i am a tiger'}
#不存在键,报错 >>> d.pop('name') Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> d.pop('name') KeyError: 'name'

    8.popitem  弹出随机的项,并删除

>>> d
{'age': 10, 'titile': 'i am a tiger'}
>>> d.popitem()
('age', 10)
>>> d
{'titile': 'i am a tiger'}

    9.setdefault  -类似于get方法,能够获得给定键相关联的值,还能在字典中不含有给定键的情况下设定相应的键值

>>> d = {}
>>> d.setdefault('name','N/A')
'N/A'
>>> d
{'name': 'N/A'}
>>> d['name'] = 'zhang'
>>> d.setdefault('name','N/A')
'zhang'
>>> d
{'name': 'zhang'}

    10.update --利用一个字典更新另外一个字典 ,被更新的字典 会加到 原字典中,键相同的话会被覆盖

>>> d = {'title':'zhang','age':10}
>>> x = {'age':20}
>>> d.update(x)
>>> d
{'age': 20, 'title': 'zhang'}
>>> y = {'sex':'male'}
>>> d.update(y)
>>> d
{'age': 20, 'sex': 'male', 'title': 'zhang'}

 

posted @ 2017-03-02 10:17  大愚者  阅读(169)  评论(0编辑  收藏  举报