zoukankan      html  css  js  c++  java
  • Python数据类型之四(字典)

    字典: 格式:dict{}
    数据类型划分:可变数据类型 与 不可变数据类型

    可变数据类型 称为:可哈希元组 bool int str
    不可变数据类型 称为:不可哈希 如:list bict set

    dict key :必须是不可变数据类型
    value : 任意数据类型

    dict 的优点:
    二分查找去查询 (速度快)
    存储大量的关系型数据
    3.5版本之前是无序的。3.6版本以后好像是有序的。

    创建一个dict:
    dic = {
            'name':['taibai ','alexC','AbC ','egon',' Ritian',' Wusir','  aqc'],
            'py9':{
                    'time':'1213'
                    'learn_money':19800
                    'addr':'CBD'
    
                    },
            'age':21
            }

    增:

    增:
    dic['name'] = '小刚' #无序添加。有键值对,直接覆盖。
    print(dic)
    #输出:{'age': 20, 'sec': 'male', 'name': '小刚'}
    
    dic['high'] = 185 #无序添加。没有键值对,直接添加新内容。
    print(dic)
    #输出:{'high': 185, 'age': 20, 'name': '小明', 'sec': 'male'}
    
    使用setdefault增,PS:当字典中有键值对时不会做任何改变。没有时才会添加。
    dic.setdefault('weight') #添加新的键。
    print(dic)
    #输出:{'name': '小明', 'weight': None, 'age': 20, 'sec': 'male'}
    
    dic.setdefault('weight','150') #添加新的键。还有 值。
    print(dic)
    #输出:{'name': '小明', 'age': 20, 'weight': '150', 'sec': 'male'}
    
    dic.setdefault('name','小刚') #没有任何变化
    print(dic)

    删:

    dic = {'name':'小明','age':20,'sec':'male'}
    
    pop 有返回值,按 键 删除。
    print(dic.pop('name')) #打印出 删掉的内容
    print(dic) #打印删除后的列表
    
    print(dic.pop('abc','自定义')) #后边自定义位置默认为 None 为了在不确定是否有'abc'情况下 防止报错
    输出:自定义
    
    print(dic.pop('abc'))
    #报错:  File "G:/lod_boy_S9_Python/5Day/test.py", line 49, in <module>
            print(dic.pop('abc'))
            KeyError: 'abc'
    print(dic)
    
    print(dic.popitem()) #有返回值 随即删除
    print(dic)
    
    dic.clear() #清空字典
    print(dic)
    
    del dic  #删除字典。会报错。
    print(dic)
    
    del dic['name'] #del 也可以删除 键值对
    print(dic)

    改:

    dic = {'name':'小明','age':16,'sec':'male'}
    dic2 = {'age':20,'sec':'male','love':'moli'}
    
    dic['age'] = 16 #通过 键 修改 值
    print(dic)
    
    dic2.update(dic) #将dic1的内容 添加到dic2 遵守 没有就添加,有就替换的原则。
    print(dic2)
    print(dic)

    查:

    dic = {'age':20,'sec':'male','love':'moli'}
    
    print(dic.keys()) #列表类型 打印键
    print(dic.values()) #列表类型 打印值
    print(dic.items()) #无序的情况下 已 元组类型 打印出 键值对
    
    for i in dic : # 默认已 str类型 打印出 键
        print(i)
    
    print(dic.get('张三','该用户不存在'))  #在不确定的情况下 可以查询该键是否存在 并且不报错
    
    for k,v in dic.items() :  #去除元组的括号 分别将 键 值 赋给 k v
        print(k , v)
  • 相关阅读:
    STS IDE 个性化修改
    tomcat发布web项目,支持域名
    执行 maven 命令 报错Unable to add module to the current project as it is not of packaging type 'pom'[转]
    从数组中返回最大长度的所有子数组
    springboot 1.5.x 使用tomcat8设置cookie的domain以dot开头报错
    tomcat服务器配置字符集为utf-8-彻底解决中文乱码问题
    通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明
    Java原理之HashMap
    你应该知道的JAVA面试题
    sql 置顶功能的查询
  • 原文地址:https://www.cnblogs.com/zhouxinyu/p/8510804.html
Copyright © 2011-2022 走看看