python数据类型之字典

发布时间:2020-08-15编辑:脚本学堂
本文介绍下,python数据类型中的字典,介绍了有关python字典的基础知识与相关实例,供大家学习参考。

本节主要内容:
python数据类型中的字典

字典 --{}

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
    {}