zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    codeforces C. No to Palindromes!
    codeforces D. Pashmak and Parmida's problem
    codeforces C. Little Pony and Expected Maximum
    codeforces D. Count Good Substrings
    codeforces C. Jzzhu and Chocolate
    codeforces C. DZY Loves Sequences
    codeforces D. Multiplication Table
    codeforces C. Painting Fence
    hdu 5067 Harry And Dig Machine
    POJ 1159 Palindrome
  • 原文地址:https://www.cnblogs.com/wangm-0824/p/10046693.html
Copyright © 2011-2022 走看看