zoukankan      html  css  js  c++  java
  • DAY 012--dict(增、删、改、查、合并)

    dict特性                                                                 

    字典一种key-value的数据类型,使用就像我们上学用的字典,通过笔划、字母来查找对应页的详细内容。
    特性:

    • key-value结构
    • key必须可hash、且必须为不可变数据类型、必须唯一(创建时如果同一个键被赋值两次,后一个值会被记住)
    • 可存放任意多个值、可修改、可以不唯一
    • 无序
    • 查找速度快(查找的方式是折中,也就是2的n次方来查找)

    一、增                                                                   

    1、dict[new_key]=value                                                                

    • new_key--新增的key值
    info={"name":"Junee","age":23,"sex":"female"}
    info["dept"]="Python"
    print(info)
    #输出结果
    {'name': 'Junee', 'age': 23, 'sex': 'female', 'dept': 'Python'}

    2、dict.setdefault(key, default=None)                                           

    • key -- 查找的键值。
    • default -- 键不存在时,设置的默认键值。

    如果 key 在 字典中,返回对应的值。如果key不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。

    info={"name":"Junee","age":23,"sex":"female"}
    print(info.setdefault("dept","Python"))
    #输出结果
    Python
    
    print(info)
    #输出结果
    {'name': 'Junee', 'age': 23, 'sex': 'female', 'dept': 'Python'}

      

    二、删                                                                   

    1、del dict[key]                                                                           

    • 删除键是key的条目
    info={"name":"Junee","age":23,"sex":"female"}
    del info["sex"]
    print(info)
    #输出结果
    {'name': 'Junee', 'age': 23}

    2、dict.clear()                                                                             

    • 清空词典所有条目

    info={"name":"Junee","age":23,"sex":"female"} info.clear() print(info) {}

    3、del dict                                                                                 

    删除词典

    info={"name":"Junee","age":23,"sex":"female"}
    del info
    print(info)
    
    #输出结果
    NameError: name 'info' is not defined

    4、dict.pop(key)                                                                         

    • key--key值

    info={"name":"Junee","age":23,"sex":"female"} info.pop("sex") print(info) {'name': 'Junee', 'age': 23}

    三、改                                                                   

    1、dict[key]=new_value                                                               

    info={"name":"Junee","age":23,"sex":"female"}
    info["sex"]="male"
    print(info)
    
    {'name': 'Junee', 'age': 23, 'sex': 'male'}

    四、查                                                                   

    1、dict[key]                                                                                

    info={"name":"Junee","age":23,"sex":"female"}
    print(info["sex"])
    
    female

    2、dict.get(key, default=None)                                                     

    • key -- 字典中要查找的键。
    • default -- 如果指定键的值不存在时,返回该默认值值。

    返回指定键的值,如果值不在字典中返回默认值 None。

    info={"name":"Junee","age":23,"sex":"female"}
    print(info.get("sex"))
    print(info.get("weight"))
    
    #输出结果
    female
    None

    3、dict.setdefault(key:value)                                                         

    • key -- 查找的键值。
    • default -- 键不存在时,设置的默认键值。

    如果 key 在 字典中,返回对应的值。如果key不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。

    info={"name":"Junee","age":23,"sex":"female"}
    print(info.setdefault("name"))
    
    Junee

    4、key in dict                                                                             

    返回布尔值,如果值在dict中返回True,不在则返回False

    info={"name":"Junee","age":23,"sex":"female"}
    print("name" in info)
    print("weight" in info)
    
    True
    False

    5、dict.keys()                                                                              

    返回一个字典所有的键

    info={"name":"Junee","age":23,"sex":"female"}
    print(info.keys())
    
    dict_keys(['name', 'age', 'sex'])

    6、dict.values()                                                                           

    返回字典中的所有值

    info={"name":"Junee","age":23,"sex":"female"}
    print(info.values())
    
    dict_values(['Junee', 23, 'female'])

    7、dict.items()                                                                            

    返回可遍历的(键, 值) 元组数组。

    info={"name":"Junee","age":23,"sex":"female"}
    print(info.items())
    
    dict_items([('name', 'Junee'), ('age', 23), ('sex', 'female')])

    五、合并                                                                

    1、dict.update(dict2)                                                                    

    • dict2 -- 添加到指定字典dict里的字典

    注意:如果两个字典中有相同的key值,d1的值会被d2的值覆盖

    d1={"name":"Junee","age":23,"sex":"female"}
    d2={"name":"Woo","age":33}
    d3={"sex":"male"}
    
    d1.update(d2)
    print(d1)
    #输出结果
    {'name': 'Woo', 'age': 33, 'sex': 'female'}#相同的key值被新value覆盖
    
    
    d2.update(d3)
    print(d2)
    {'name': 'Woo', 'age': 33, 'sex': 'male'}

    2、dict(d1, **d2)                                                                          

    注意:如果两个字典中有相同的key值,d1的值会被d2的值覆盖

    d1={"name":"Junee","age":23,"sex":"female"}
    d2={"name":"Woo","age":33}
    d3={"sex":"male"}
    
    d4=dict(d1,**d2)
    d5=dict(d2,**d3)
    print(d4)
    print(d5)
    
    {'name': 'Woo', 'age': 33, 'sex': 'female'}
    {'name': 'Woo', 'age': 33, 'sex': 'female'}

    3、dict(list(d1.items())+list(d2.items()))                                           

    • list(d1.items())获取字典的键值对的列表
    • list(d1.items()) + list(d2.items())拼成一个新的列表
    • dict(list(d1.items())+list(d2.items()))将合并成的列表转变成新的字典

    注意:如果两个字典中有相同的key值,d1的值会被d2的值覆盖

    d1={"name":"Junee","age":23,"sex":"female"}
    d2={"name":"Woo","age":33}
    d3={"sex":"male"}
    
    d6=dict(list(d2.items())+list(d3.items()))
    print(d6)
    
    {'name': 'Woo', 'age': 33, 'sex': 'male'}

    4、字典的常规处理方法                                                                  

    d1={"name":"Woo","age":33}
    d2={"sex":"male"}
    d3={}
    for k,v in d1.items():
        d3[k]=v
    for k,v in d2.items():
        d3[k]=v
    
    print(d3)
    
    {'name': 'Woo', 'age': 33, 'sex': 'male'}

    5、dict.fromkeys(seq[, value])                                                       

    • seq -- 字典键值列表。
    • value -- 可选参数, 设置键序列(seq)的值。

    Python 字典 fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。

    seq=("name","age","height")
    d1=dict.fromkeys(seq)
    d2=dict.fromkeys(seq,10)
    print(d1)
    print(d2)
    
    {'name': None, 'age': None, 'height': None}
    {'name': 10, 'age': 10, 'height': 10}

    Mark on 2018.04.13

  • 相关阅读:
    93.修改私有属性的值
    92.私有属性和私有方法
    91.多层继承
    python基础入门之四 —— 列表
    python基础入门之三 —— 字符串
    python基础入门之二 —— 条件、循环语句
    如何将本地图片变成图片链接
    python基础入门之一 —— 变量与运算符
    Elasticserach 配置文件详解
    elasticserch:性能优化策略
  • 原文地址:https://www.cnblogs.com/JunSheep/p/8778132.html
Copyright © 2011-2022 走看看