• Python字典


     1. 什么是字典
            字典是以key:value的形式来保存数据
            用{}表示. 存储的是key:value
        2. 字典的增删改查(重点)
            1. 添加
                dic[新key] = 值
                setdefault()
    dic = {"意大利": "李云龙", "美国": "美国往事"}
    dic["日本"] = "东京审判"  # 新key表示添加
    dic['韩国'] = "釜山行"
    
    
    setdefault 
    # 有添加的功能,如果key是存在的. 不添加
    # 流程: 判断你给的key是否在字典中存在了.如果已经存在了. 就不再新增. 如果不存在. 执行新增操作
    dic.setdefault("美国", "三傻大闹宝莱坞")
            2. 删除
                pop(key)
    dic = {"张艺谋":"红高粱", "李安":"断臂山", "陈凯歌":"霸王别姬", "郭德纲":"祖宗十九代"}
    dic.pop("郭德纲") 
            3. 修改
                dic[老key] = 值
                update() 跟新字典
    dic = {"河南":"胡辣汤", "开封": "灌汤包", "武汉":"热干面"}
    dic['河南'] = "烩面" # 老key = 值
    print(dic)
    
    dic1 = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
    dic2 = {"赵四":"光光", "刘能":"能能", "皮校长":"皮长山"}
    dic1.update(dic2) # 把dic2怼到dic1里面. 把dict2中的内容更新到dic1
    print(dic1)
    print(dic2)
            4. 查询
                dic[key]
                get(key, 值)
                setdefault(key, value)
    #1. 直接使用key就可以拿到value
    print(dic1["赵四四"])
    
    #2. get(key)
    print(dic1.get("刘能能"))  # None 当key不存在返回None
    print(dic1.get("刘能能", "没有这个人")) # 当key不存在. 返回第二个参数. 默认第二个参数是None
    
    #3. setdefault() 第一个功能是添加(当key不存在). 第二个功能是查询(根据你给的key查询)
    # 整个执行流程: 判断给的key是否存在. 如果存在. 就不执行新增流程.直接查询出这个key对应的value
    # 如果key不存在. 先执行新增操作. 再使用key把对应的value查询出来
    ret = dic1.setdefault("皮长山", "皮校长")
    print(ret) # 皮校长
    
    ret = dic1.setdefault("王木生", "宝宝")
    print(ret) # 范伟
            5. 遍历,字典是一个可迭代对象
    # 遍历字典两套方案
    dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
    # 1. 使用for循环直接遍历字典的key
    for key in dic:
        print(key)
        print(dic[key])
    
    # 2. 可以使用字典的items()+解构可以直接获取到key和value
    for k, v in dic.items():
        print(k)
        print(v)
        3. 字典的相关操作
            1. keys() 获取到所有的键
            2. values() 获取到所有的值
            3. items() 拿到所有的键值对

        4. 字典的嵌套
            字典的嵌套. 字典套字典
    wf = {
        "name":"汪峰",
        "age":52,
        "hobby":["唱歌", "上头条", "穿皮裤"],
        "wife": {
            "name": "章子怡",
            "age": 49,
            "hobby":["演戏", "上电视", "当导师"],
            "tishen": {
                "name":"萌萌",
                "age":28
            },
            "zhuli":{
               "name":"磊磊",
               "age": 20
            }
        },
        "zhuli":{
            "name":"宝宝",
            "age":23,
            "hobby":["抽烟","喝酒","烫头"]
        },
        "children":[{"name":"汪老大"}, {"name":"汪老二"}]
    }
    wf['children'][1]["age"] = 2
    print(wf)
    print(wf['zhuli']['name'])
    # 汪峰老婆替身的名字
    print(wf['wife']['tishen']['name'])
    # 汪峰老婆的第二个爱好
    print(wf['wife']['hobby'][1])
    # 汪峰助理的第三个爱好
    print(wf['zhuli']['hobby'][2])
    
    # 汪峰的助理+10岁
    wf['zhuli']['age'] = wf['zhuli']['age'] + 10
    # 汪峰的老婆添加一个爱好("导戏")
    wf['wife']['hobby'].append("导戏") # 添加完毕了
    # 删除汪峰助理的"抽烟"爱好
    wf["zhuli"]["hobby"].remove("抽烟")
    print(wf)
  • 相关阅读:
    Python运算符,基本数据类型
    Python2 错误记录1File "<string>", line 1, in <module> NameError: name 'f' is not defined
    用户登录三次练习
    跟我一起学Python-day1(条件语句以及初识变量)
    vim operation
    步步为营-28-事件本质
    步步为营-27-事件
    步步为营-26-多播委托
    步步为营-25-委托(比大小)
    步步为营-24-委托
  • 原文地址:https://www.cnblogs.com/wangm-0824/p/10046693.html
Copyright © 2020-2023  润新知