• 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

  • 相关阅读:
    [bzoj1911][Apio2010特别行动队] (动态规划+斜率优化)
    [bzoj1597][usaco2008 mar]土地购买 (动态规划+斜率优化)
    [bzoj1901][zoj2112][Dynamic Rankings] (整体二分+树状数组 or 动态开点线段树 or 主席树)
    整体二分初步
    bzoj[3238][ahoi差异]
    概率dp学习
    poj[2104]K-th Number
    hdu[1711]number sequence
    hdu[2222]keywords search
    poj[1187][Noi 01]陨石的秘密
  • 原文地址:https://www.cnblogs.com/gsxl/p/11963590.html
Copyright © 2020-2023  润新知