zoukankan      html  css  js  c++  java
  • OrderedDict

    因为项目用的python3.5,字典还是无序的,所以需要把OrderedDict捡一捡。

    1.创建有序字典

    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    dic['k3'] = 'v3'
    print(dic)
    
    #输出:OrderedDict([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')])

    2.clear(清空有序字典)

    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    dic.clear()
    print(dic)
    
    #输出:OrderedDict()

    3.copy(拷贝)

    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    new_dic = dic.copy()
    print(new_dic)
    
    #输出:OrderedDict([('k1', 'v1'), ('k2', 'v2')])
    #浅拷贝

    4.fromkeys(指定一个列表,把列表中的值作为字典的key,生成一个字典)

    import collections
    
    dic = collections.OrderedDict()
    name = ['tom','lucy','sam']
    print(dic.fromkeys(name))
    print(dic.fromkeys(name,20))
    
    #输出:OrderedDict([('tom', None), ('lucy', None), ('sam', None)])
    #     OrderedDict([('tom', 20), ('lucy', 20), ('sam', 20)])

    5.items(返回由“键值对组成元素“的列表)

    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    print(dic.items())
    
    #输出:odict_items([('k1', 'v1'), ('k2', 'v2')])

    6.keys(获取字典所有的key)

    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    print(dic.keys())
    
    # 输出:odict_keys(['k1', 'k2'])

    7.move_to_end(指定一个key,把对应的key-value移到最后)

    import collections
    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    dic['k3'] = 'v3'
    dic.move_to_end('k1')
    print(dic)
    
    # 输出:OrderedDict([('k2', 'v2'), ('k3', 'v3'), ('k1', 'v1')])

    8.pop(获取指定key的value,并在字典中删除)

    import collections
    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    dic['k3'] = 'v3'
    k = dic.pop('k2')
    print(k,dic)
    
    # 输出:v2 OrderedDict([('k1', 'v1'), ('k3', 'v3')])

    9.popitem(按照后进先出原则,删除最后加入的元素,返回key-value)

    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    dic['k3'] = 'v3'
    print(dic.popitem(),dic)
    print(dic.popitem(),dic)
    
    # 输出:('k3', 'v3') OrderedDict([('k1', 'v1'), ('k2', 'v2')])
    #      ('k2', 'v2') OrderedDict([('k1', 'v1')])

    10.setdefault(获取指定key的value,如果key不存在,则创建)

    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    dic['k3'] = 'v3'
    val = dic.setdefault('k5')
    print(val,dic)
    
    # 输出:None OrderedDict([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3'), ('k5', None)])

    11.values(获取字典所有的value,返回一个列表)

    import collections
    
    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    dic['k3'] = 'v3'
    print(dic.values())
    
    # 输出:odict_values(['v1', 'v2', 'v3'])
  • 相关阅读:
    善于倾听,时刻清醒
    FlinkCDC读取MySQL并写入Kafka案例(com.alibaba.ververica)
    直线与圆弧插补采用DDS的模拟程序
    博客园的傻逼程序员开发的傻逼功能
    MeEdu知识付费系统文件上传功能
    微软商业智能(BI)分析服务从入门到精通读书笔记连载
    软件设计师&产品经理应常去的网站
    Windows Phone 7 Jump Start 系列教程
    设计学习《大象》阶段学习总结
    通过FxCop来验证.NET编码规范
  • 原文地址:https://www.cnblogs.com/miaoweiye/p/12486098.html
Copyright © 2011-2022 走看看