本节主要内容:
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
{}