#字典Dict,也称为mapping
字典是可变的、无序的、key不重复的key-value 键值对集合
初始化:
dict(**kwargs)使用name=value对初始化一个字典
dict(iterable,**kwarg),使用可迭代对象和name=value
对构造字典,不过可迭代对象的元素必须是一个二元结构**
dict(mapping,**kwarg)使用一个字典构建另一个字典
d1={}
d2=dict()
d3=dict(a=100,b=200)
d4=dict(d3)
d1=dict.fromkeys('abcde',[1])
{'a': [1], 'b': [1], 'c': [1], 'd': [1], 'e': [1]}
要取里面的值,但是是无序的,可以通过key名称取值
d1['d'] #key是hash的,通过对d取hash值,
找到内存地址,然后就找到值,返回对应的数据
d1['d']=5
{'a': [1], 'b': [1], 'c': [1], 'd': 5, 'e': [1]}
d1['b'][0]=2
{'a': [2], 'b': [2], 'c': [2], 'd': 5, 'e': [2]}
'd' in d1, 'c' in d1#字典只有使用了key来判断
,才是最优秀的,时间复杂度为O(1)
d1.get()
d1.setdefault('f',234)
字典里没有f,就创建个f
#取值得3种方式
d1[key] d1.get(key,None or default)
d1.setdefault(key,None or default)
#删除元素
del d1['e']
d1.pop()
#增加修改
d1['f']=xxx
如果存在就修改,没有就增加
#更新
d1.update(a=200)