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'])
  • 相关阅读:
    LeetCode 227. Basic Calculator II
    LeetCode 224. Basic Calculator
    LeetCode 103. Binary Tree Zigzag Level Order Traversal
    LeetCode 102. Binary Tree Level Order Traversal
    LeetCode 106. Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal
    LeetCode 169. Majority Element
    LeetCode 145. Binary Tree Postorder Traversal
    LeetCode 94. Binary Tree Inorder Traversal
    LeetCode 144. Binary Tree Preorder Traversal
  • 原文地址:https://www.cnblogs.com/miaoweiye/p/12486098.html
Copyright © 2011-2022 走看看