zoukankan      html  css  js  c++  java
  • 字典

    字典(dict)

    字典是无序的,可变的数据类型

    作用:用于存储数据,可以存储大量数据

    和列表的区别:字典比列表快,将数据和数据之间进行关联

    定义一个字典:
        dic = {"a":1,"b":2,"c":3}
    字典中逗号分隔的叫做一个元素      键:值    (其他语言中叫键值对)
    字典中的键:可哈希(不可变的数据类型)   --避免哈希冲突使用开放寻址法
              键要求是唯一的,如果有重复,后边的值将覆盖前边的值
           值:不可哈希(可变的数据类型),可以任意类型
               
    

    1.增

    dic = {"a":1,"b":2,"c":3}
    
    #dic[键] = 值
    例:
    dic["d"] = 4   
    print(dic)       #{'a': 1, 'b': 2, 'c': 3, 'd': 4}
    
    #dic.setdefault(键,值)
    例:
    dic.setdefault("d",4)
    print(dic)       #{'a': 1, 'b': 2, 'c': 3, 'd': 4}
                     # 执行程序:1.先拿新的键在字典中进行查询
                     #         2.如果存在不添加,不存在执行添加
        
        
    

    2.删

    dic = {"a":1,"b":2,"c":3}
    
    #del dic[键]
    例:
    del dic["a"]
    print(dic)        #{'b': 2, 'c': 3}
    
    #del.pop(键)
    例:
    dic.pop("a")      
    print(dic)        #{'b': 2, 'c': 3}
        
    #del.clear()  --清空
    例:
    dic.clear()
    print(dic)        #{}
    

    3.改

    dic = {"a":1,"b":2,"c":3}
    
    #dic[键] = 值  字典中没有某个键值对时就是添加,键存在于字典中就是修改
                   --    有则改,无则加
    例:
    dic["c"] = 4
    print(dic)        #{'a': 1, 'b': 2, 'c': 4}
    
    #dic.update(要更新的字典)  括号中的字典级别要高于前面的字典级别
    例:
    dic.update({"d":4,"e":5})
    print(dic)        #{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
    
    
    dic1 = {"d":4,"e":5}
    
    dic.update(dic1)
    print(dic1)       #{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
    
    

    4.查

    dic = {"a":1,"b":2,"c":3}
    
    #使用for循环
    for i in dic:
        print(i)        # a
                          b
                          c
                
    
    #dic.get(键)        #通过键获取值,不存在于字典中则返回 None
    例:
    print(dic.get("a"))       # 1
    
    #dic[键]           #通过键获取值,不存在于字典中则报错
    print(dic["a"])           # 1
    
    

    5.其他操作

    #获取所有键值对
    for i in dic:
        print(i,dic.get(i))
        
    dic = {"a":1,"b":2,"c":3}
    
    获取键和值,支持循环,不支持索引
    #获取键
    print(dic.keys()) 
      #dict_keys(['a', 'b', 'c'])    --获取字典中所有键并形成高仿列表
    
    #获取值
    print(dic.values())
      #dict_values([1, 2, 3])        --获取字典中所有值并形成高仿列表
    
    #获取所有键值对
    print(dic.items())
      #dict_items([('a', 1), ('b', 2), ('c', 3)])  --以元组形式存                                                 放在高仿列表中
    for i in dic.items():
        print(i[0],i[1])
        
    #获取字典中的所有的值并形成列表
    print(list(dic.values()))     #[1,2,3]
    
    
    

    6.解构

    a = 10
    b = 20
    a,b = b,a
    print(a,b)
    
    #除了布尔值都可以结构
    a = 1,2      #本质上时一个元组
    print(a)
    
    a,b = [1,2]
    print(a,b)
    
    a,b = (3,4)
    print(a,b)
    
    a,_,b = (3,4,5)
    print(a,b)        #等号后边的值和前边的变量名要一一对应
    
    a,b = '12'
    print(a,b)
    
    a,b = {"a":1,"b":2}
    print(a,b)        # a b  #获取到的是键
    
    #循环字典获取键和值
    for k,v in dic.items():
        print(k,v)
    
    

    7.字典的嵌套

    #查找的时候一层一层的通过键进行查找
    
    dic = {'name':'汪峰','age':48,'wife':[{'name':'国际章','age':38}],'children':['第一个熊孩子','第二个熊孩子']}
    
    获取国际章
    print(dic[wife][0]['name'])
    
    
  • 相关阅读:
    JDBC连接效率问题
    如何配置Filter过滤器处理JSP中文乱码(转)
    Servlet生命周期与工作原理(转)
    ANR触发原理
    SystemServer概述
    Zygote总结
    ART、JIT、AOT、Dalvik之间有什么关系?
    谈谈android缓存文件
    Activity启动过程全解析
    tombstone问题分析
  • 原文地址:https://www.cnblogs.com/tutougold/p/11164052.html
Copyright © 2011-2022 走看看