• 第三天python3 字典


    字典 dict

    特点:key-value键值对的数据的集合

         可变的、无序的、key不重复;非线性结构;

    字典的初始化

      d=dict() 或者 d = { }

      dict(**kwargs) 使用name=value对初始化一个字典;

      dict(iterable,**kwarg) 使用可迭代对象和name=value对构造字典,不可迭代对象的元素必须是一个二元结构;

            

      dict(mapping,**kwarg) 使用一个字典构建另一个字典

        

       类方法dict.formkeys(iterable,value)

    字典元素的访问

      d[key]  返回key对应的值value,key不存在则抛出KeyError;
         

      get(key[,default]} 返回key对应的值value,key不存在返回缺省值,如果没有设置缺省值就返回None;

        

      setdefault(key[,default]) 返回key对应的值value,key不存在,添加kv对,value为default,并返回default,如果default没有设置,缺省为None;

         

    字典的增加、修改

      d[key] =value  增加、修改   key存在则覆盖,key不存在则创建

      update([other]) ---> None

        使用另一个字段的kv对更新本字段,key不存在则添加,key存在,覆盖已经存在的key对应的值;就地修改;
        

        在set集合中元素的值是唯一的,在字典中key是唯一的,key的顺序是无序的;

    字典的删除

      pop(key,[default])  key存在,则移除,并返回它的value;key不存在,返回给定的default;default未设置,key不存在则抛出KeyError异常;

      

      popitem()  移除并返回任意键值对,字典为empty,抛出KeyError;

      

      clear()  清空字典;

      del语句

    字典的遍历

      1、遍历key
      

      遍历value

      

      遍历items也就是kv对

      

      总结:

      python3中,keys、values、items方法返回一个类似于一个生成器的可迭代对象,不会把函数的返回结果复制到内存中,本质上是一个字典的view对象,省内存;

    移除

      

      应用示例:
      

      字典和set主要是使用key,如果想遍历value,则使用list最好;

    缺省字典 defaultdict

    collections.defaultdict([default_factory[,...]])

      第一个参数是default_factory,缺省是None,它提供一个初始化函数,当key不存在的时候,会调用这个工厂函数来生成key对应的value;

    有序字典 OrderedDict

      有序字典可以记录元素的插入顺序,打印的时候也是按照这个顺序输出打印;

      3.6版本的Python的字典就是记录key插入的顺序(ipython不一定有效果)

      应用场景:

        1、假如使用字典记录了N个产品,这些产品使用ID由小到大加入字典中;

        2、除了使用字典检索的遍历,有时候需要取出ID,但是希望是按照输入的顺序,因为输入顺序是有序的;

      示例:

        

       

  • 相关阅读:
    HOT: AgentFramework 即将发布
    关于配置 Apache + SVN 1.5 + SSL
    LINQ to SQL(LINQ2SQL) vs. ADO.NET Entity Framework(ADOEF)ccBoy版 阅读笔记
    关于导出属性
    linq to sql 与linq to entities的选择
    linq to sql 算ORM吗?
    匿名方法实现(转)
    Aop中动态横切与静态横切
    老张的灵魂——敏捷回顾
    忙于webmis中
  • 原文地址:https://www.cnblogs.com/zhangzhide/p/13063255.html
Copyright © 2020-2023  润新知