zoukankan      html  css  js  c++  java
  • 字典,和字典的增删改查

    1. 什么是字典
    字典是以key:value的形式来保存数据
    用{}表示. 存储的是key:value

    2. 字典的增删改查(重点)
    1. 添加
    dic[新key] = 值

    setdefault()
    2. 删除
    pop(key)

    3. 修改
    dic[老key] = 值
    update() 跟新字典
    4. 查询
    dic[key]
    get(key, 值)
    setdefault(key, value)
    5. 遍历,字典是一个可迭代对象

    # lst = ["周杰伦", "林俊杰", "蔡依林"]
    # lst[0]
    # lst[0] = "麻花藤"
    # 查找的效率比较高
    # 坑: 字典存储数据的时候是用的hash值来存储. 算法不能变(python的)
    # 数据必须是不可变的(可哈希). 字典的key必须是可哈希的(不可变).
    # dic = {"jay":"周杰伦", "jj": "林俊杰", "jolin":"蔡依林"}
    # print(dic['jay']) # 周杰伦
    # dic['jay'] = "麻花藤"
    #
    # print(type(dic)) # <class 'dict'>
    
    # 列表是可变的. 不可哈希
    # 元组是不可变的. 可哈希的
    # print(hash((1,2,3))) # unhashable type: 'list'
    #                                                               unhashable type: 'list'
    # dic = {"jay":"周杰伦", "王力宏":["龙的传人", "唯一", "改变自己"], ["战狼", "战狼2"]: "武警"}
    # print(dic)
    

      

    # dic = {"意大利": "李云龙", "美国": "美国往事"}
    #
    # # dic["日本"] = "东京审判"  # 新key表示添加
    # # dic['韩国'] = "釜山行"
    #
    # # setdefault (难点)
    # # 有添加的功能,如果key是存在的. 不添加
    # # 流程: 判断你给的key是否在字典中存在了.如果已经存在了. 就不再新增. 如果不存在. 执行新增操作
    # dic.setdefault("美国", "三傻大闹宝莱坞")
    # print(dic)
    
    # dic = {"张艺谋":"红高粱", "李安":"断臂山", "陈凯歌":"霸王别姬", "郭德纲":"祖宗十九代"}
    # # dic.pop("郭德纲") # 你要记住的
    # # dic.popitem() # 随机删除一项. 在python早期版本  字典是无序的.
    # del dic["李安"]
    # dic.clear() # 清空
    # print(dic)
    
    #
    # dic = {"河南":"胡辣汤", "开封": "灌汤包", "武汉":"热干面"}
    # # dic['河南'] = "烩面" # 老key = 值
    # print(dic)
    
    # dic1 = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
    # dic2 = {"赵四":"宝宝", "刘能":"萌萌", "皮校长":"皮长山"}
    #
    # dic1.update(dic2) # 把dic2怼到dic1里面. 把dict2中的内容更新到dic1
    # print(dic1)
    # print(dic2)
    
    dic1 = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
    
    # 1. 直接使用key就可以拿到value
    # print(dic1["赵四四"]) # KeyError: '赵四四' key不存在
    
    
    # 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) # 范伟
    

      

  • 相关阅读:
    python-Lists
    python报错ValueError: invalid x escape
    ssm框架自动生成实体类、Dao、*Map.xml
    echarts3地图实现点击某省市区域跳转到相应页面
    echart3绘制地图
    sts maven项目单元测试报错initializationerror not found
    jQuery datatable后台分页实现
    解决bootstrapValidator校验冲突
    JAVA基础复习.DAY1
    【日记】1.18
  • 原文地址:https://www.cnblogs.com/YangWenYu-6/p/10060739.html
Copyright © 2011-2022 走看看