zoukankan      html  css  js  c++  java
  • python-11-字典的增删改查

    前言

    1、dict 字典:{key,vlaue} --key 必须是不可变数据类型,可哈希,--value:任意数据类型

    2、dict优点:二分查找去查询
    --存储大量的关系型数据,可哈希。
    --无序的,通过key查找

    一、增

    1、第一种

    # 第一种
    dic = {"name": "小龙", "age": 22, "job": "IT"}
    
    dic["high"] = 175   # 没有key时则新增
    dic["age"] = 16     # 有key时,value被覆盖
    print(dic)

     2、第二种

    # 第二种
    dic = {"name": "小龙", "age": 22, "job": "IT"}
    
    dic.setdefault('sex', 'man')    # 没有key时则新增
    dic.setdefault('age', '22')     # 有key时,不做任何改变
    print(dic)

     二、删

    1、第一种

    # 第一种
    dic = {"name": "小龙", "age": 22, "job": "IT"}
    
    name = dic.pop('age')       # 按key删除,有返回值
    print(dic)
    print(name)

     2、第二种,建议用这种

    # 第二种,常用
    dic = {"name": "小龙", "age": 22, "job": "IT"}
    name = dic.pop('sex', '没有key')       # 可设置返回值,避免报错
    print(dic)
    print(name)

     3、第三种,清空dict

    # 第三种清空dict
    dic = {"name": "小龙", "age": 22, "job": "IT"}
    dic.clear()
    print(dic)

     4、第四种,没有返回值

    # 第四种,没有返回值
    dic = {"name": "小龙", "age": 22, "job": "IT"}
    del dic['name']
    print(dic)
    del dic         # 删除整个dict

     三、改

    1、第一种

    # 第一种
    dic = {"name": "小龙", "age": 22, "job": "IT"}
    dic['age'] = 18
    print(dic)

     2、 第二种 update,dic 覆盖添加到dic1

    # 第二种 update,覆盖添加
    dic = {"name": "小龙", "age": 22, "like": "IT"}
    dic1 = {"name": "玲玲", "age": 18, "job": "大宝剑"}
    dic1.update(dic)
    print(dic)
    print(dic1)

     四、查

    1、可分别查key、value,或查key:value

    # 4、查
    dic = {"name": "小龙", "age": 22, "like": "IT"}
    print(dic['name'])                                  # 查看name对应的value,没有找到会报错
    print(dic.get('name1', '没有这个value'))           # 可设置返回值,推荐
    print(dic.keys())       # key
    print(dic.values())     # value
    print(dic.items())      # 元组的键值

     

    欢迎来QQ交流群:482713805

  • 相关阅读:
    JDK1.8源码阅读系列之四:HashMap (原创)
    二叉搜索树Java实现(查找、插入、删除、遍历)
    MySQL索引的索引长度问题
    JDK1.8源码阅读系列之三:Vector
    JDK1.8源码阅读系列之二:LinkedList
    JDK1.8源码阅读系列之一:ArrayList
    Java synchronized关键字用法(清晰易懂)
    两栏布局,左边定宽,右边自适应
    css使子元素在父元素居中的各种方法
    基于Vue2、WebSocket的仿腾讯QQ
  • 原文地址:https://www.cnblogs.com/gsxl/p/11963590.html
Copyright © 2011-2022 走看看