07-python_数据类型-字典

来源:互联网 发布:飞尸国语完整版网络 编辑:程序博客网 时间:2024/04/27 15:24
字典 --{}

1. 概述

   - 字典是python中唯一的映射类型(哈希表)
   - 字典对象是可变的, 但字典的键是不可变的, 键的类型可不同
   - dictName[key] 返回 指定key值的 value
   - dictName.keys() 返回 key 列表
   - dictName.values() 返回 value 列表
   - dictName.items() 返回 key-value对 列表

2. 创建


 2.1 {}
    >>> dic = { 0 : 'a', 1 : 'b', 'c' : 3}
    >>> dic[0]
    'a'
    >>> dic['c']
    3

 2.2 工厂方法 dict()
    >>> fdict = dict(key1=1, key2=2)
    >>> fdict
    {'key2': 2, 'key1': 1}  

 2.3 内建方法 fromkeys() 
    - 字典中的key对应相同的值,默认为none
    >>> fdict = {}.fromkeys(('key1', 'key2'))
    >>> fdict
    {'key2': None, 'key1': None}
    >>> fdict = {}.fromkeys(('key1', 'key2'), 9)
    >>> fdict
    {'key2': 9, 'key1': 9}

3. 访问


 3.1 返回指定key值
  3.1.1 dict[key] - 取不到值 会报错
    >>> dict = {'a':1, 'b':2, 'c':3}
    >>> dict.has_key('a')
    True
    >>> dict['a']
    1

  3.1.2 dict.get(key [, default) - 取不到 不报错或返回默认值
    >>> myDict = {}
    >>> myDict.get(1)
    >>> myDict.get(1, 'none')
    'none'

 3.2 遍历
    >>> dict = {'a':1, 'b':2, 'c':3}
    >>> for k in dict.keys():
    ...     print k, '=', dict[k]
    ...
    a = 1
    c = 3
    b = 2

 3.3 迭代器
    >>> dict = {'a':1, 'b':2, 'c':3}
    >>> for k in dict:
    ...     print k, '=', dict[k]
    ...
    a = 1
    c = 3
    b = 2

4. 操作


 4.1 添加
    >>> myDict = {'a':1, 'b':2, 'c':3}
    >>> myDict[99]='zz'
    >>> myDict
    {'a': 1, 99: 'zz', 'c': 3, 'b': 2}


 4.2 更新
    - update() , 将整个字典拷贝到另一个字典
    >>> myDict = {'a':1, 'b':2, 'c':3}
    >>> myDict['a'] = 11
    >>> myDict
    {'a': 11, 'c': 3, 'b': 2}


 4.3 删除
    - del dictName[key]
    - dictName.pop(key) 删除key对应的元素, 并返回其value
    - dictName.clear()  清空所有元素
    - del dictName      删除字典
    >>> myDict
    {'a': 11, 'c': 3, 'b': 2}
    >>> del myDict['a']
    >>> myDict
    {'c': 3, 'b': 2}
    >>> del(myDict['b'])
    >>> myDict
    {'c': 3}
    >>> myDict.pop('c')
    3
    >>> myDict
    {}