#___author:
#date: 2021/6/5
#字典的创建
a = {'name':'小王','age':225,'job':'programmer'}  #创建字典
b = dict(name='小王',age=21,job='programmer')    #dict创建字典
c = dict([('name','小王'),('age',21),('job','programmer')]) #dict创建字典、
print(a)
d = ['name','age','job']   #创建列表键值 不可变的
e = ['小王',20,'programmer']   #创建可变值
f = dict(zip(d,e)) #用zip方法合成字典
print(f)
g = dict.fromkeys(['name','age','job']) #通过fromkeys创建键值为空字典
print(g)
#字典元素的访问
print(f['name'])  #通过键来查找值
print(f.get('name'))  #用get方法查找键值
print(f.get('asds','不存在'))
print(f.items())     #列出所有键值对
print(f.keys())   #列出所有键
print(f.values())  #列出所有值
print(len(f))    #查看有多少对键值对
print('name' in a)  #检测一个键是否存在字典
#字典元素添加,修改,删除
f['name'] = '小张'  #修改键里边的值
print(f)
f['abc'] = 123   #添加键值对
print(f)
a.update(f)     #覆盖a这个变量
print(a)
#删除字典中的元素 使用del()方法  使用clear()删除所有的键值对 pop()删除指定键值对,并返回对应的“值对象”
del(f['name'])   #删除字典里的键值对
print(f)
h = a.pop('name')  #删除a的键并把删除的值赋给了h
print(h)
print(c.popitem())  #随机弹出键值对、
print(c.popitem())
print(c.popitem())
print(c)
#序列解包
t1,t2,t3 = 1,2,3  #字典,列表 ,元组,字符串都可以这样写
a1,a2,a3 = b   #默认对键进行操作
b1,b2,b3= b.items()  #对键值对进行操作
c1,c2,c3 = b.values() #对值进行操作
print(c1,c2,c3)
#写一个小程序
a = {'name':'小王','age':225,'job':'programmer'}  #创建字典
b = dict(name='小王',age=21,job='programmer')    #dict创建字典
c = dict([('name','小王'),('age',21),('job','programmer')]) #dict创建字典、
tb = [a,b,c] #转换成列表
print(tb[1].get("age")) #获得第二行人的年龄
for i in range(len(tb)):  #打印所有人的名字
print(tb[i].get('name'))
for i in range(len(tb)):   #打印出表格里所有的东西
print(tb[i].get('name'),tb[i].get('age'),tb[i].get('job'))