erro {} 修改 下标 重复 增加 不存在 内存 对象
字典是 key-value 结构
1,定义
2,增加
d = {}
d = dict()
d = {'a':1,'b':2}
d = dict(['a',1],['b',2]) #可迭代对象的元素必须是二元组,二元组第 0 个元素为 key,第 1 个元素为 vlaue
d = dict.fromkeys(range(5)) #传人可迭代对象的 key,值为 none
d = dict.fromkeys(range(5),'abc') #传人可迭代对象的 key,值为 abc
d.update(字典) #通常用于合并字典
d['a'] = 1#可以直接使用key作为下标,
不存在会增加.d.update([('c', 3), ('d', 0)])
3,修改
d['key'] = value #当 key 存在则修改
4,删除
5,访问
d.pop(key[,'default']) #删除并返回该 key 的 value,不存在 key error. 当有默认值时,key 不存在时返回默认值
d.popitem() #随机删除并返回一个二元组,空字典 key error
d.clear() #清空字典
d.keys() d.values() d.items() 在 p2 中都是返回列表,会复制一份内存,p3 中是生成器,不会复制内存在 p2 中可以用 d.iteritems()
d[key] #通过 key 访问 value,不存在 key error
d.get(key[,'default']) #不存在返回 none, 有默认值时返回默认值
d.setdefault(key[,'default']) #key 存在返回 value,不存在添加该 key,value 默认值.
d.keys() #返回字典的 key
d.values() #返回字典的 value
d.items() #返回字典的 key 和 vaue
6,字典限制
字典的 key 不能重复, 且可 hash,无序
7,默认字典
8,有序字典
from collections import defaultdict
d1 = defaultdict(list) #default 初始化时,需要传入一个函数,这个函数也叫工厂函数,当我们通过下标访问这个 key 不存在时,defaultdict 会调用函数生成一个对象作为这个 key 的 value.
d = OrderedDict() #按插入顺序
python 学习 6 - 内置数据结构 4 - 字典
来源: http://www.bubuko.com/infodetail-2461059.html