字典
1.字典的增删改查
    一、字典的增:
    1.字典的增  直接dic1["name"] = "xiaogao"
        直接给键赋值就可以  如果有键 自动覆盖 没有直接创建添加
    2.dic1.setdefault("heiht") 添加一个新的键  值没有赋值默认值为None
       有键值对不做任何改变  没有才添加 跟直接赋值正好相反 不容易覆盖已有的键值对
    二、字典的改:
    dic1["name"] = "hehe"  跟字典的增类似 直接找到字典对应的键重新给赋值就直接改掉了值
    dic2.update(dic1)   把dic1 所有的键值对更新覆盖到dic2中 相同的直接覆盖 dic2不变
    三、字典的删:
    1.print(dic1.pop("name")) 有返回值   使用pop 删除
            删除指定的键 找不到知道的键 报错  所以在使用POP 删除的时候要在键后面提示
            类似 dic1.pop("name",None)  #None 可以自定义设置提示  例如dic1.pop("name","没有此键")
    2.print(dic1.popitem())   #随机删除 有返回值
    3.del()  删除字典
    清空字典    dic1.clear()
    四、字典的查
    dic1 = {"age":18,"name":"xiaowang","sex":55 }
    print(dic1.keys())  #以列表的形式打印出dic1所有的键
    print(dic1.values())   #以列表的形式打印出dic1所有的值
    print(dic1.items())   #以列表元祖的形式打印出dic1所有的键 值 不是对 是以元祖的形式显示键值
    for i in dic1:
        print(i)  #默认是键
    for i in dic1.values:
        print(i)  #打印字典的值
    for i in dic1.items:
        print(i)   #打印字典的键值 显示的是元祖
    for k,i in dic1.items:
        print(k,i)   #打印出字典的键值对  美观
    print(dic1["name"])   #直接打印出字典键对应的值    有缺点 没有对应的值直接报错  最好使用if配合使用
    get()
    print(dic1.get("name1"))  #找不到不报错 返回None  也可以自定义返回值
字典镶嵌
dic = {
    'name':['alex','wusir','taibai'],
    'py9':{
        'time':'1213',
        'learn_money':19800,
        'addr':'CBD',
           },
    'age':21
}
更改字典中键对应的值
dic["age"] = 56  更改字典中的值
更改字典中键对应的列表对应的值与添加
dic["name"].append("tiantian")    #给字典name 键对应的列表添加一个元素
dic["name"][1] = dic["name"][1].upper()  #把指定的name 对应的索引下标的值改为大写
print(dic["name"])
更改字典中键对应的值为字典的值 与添加
dic["py9"]["female"] = 6
print(dic["py9"])