美文网首页
python的defaultdict使用方法

python的defaultdict使用方法

作者: 不懒狮Blaise | 来源:发表于2017-05-10 18:38 被阅读0次

    defaultdict用于不用默认初始化key, 大家都知道如果dict里没有指定的key,这时候取key的话会报错,那么用defaultdict不会报错。

    >>> from collections import defaultdict
    >>> dd = defaultdict(list)
    >>> dd
    defaultdict(<type 'list'>, {})
    

    defaultdict类的初始化函数接受一个类型作为参数,当所访问的键不存在的时候,可以实例化一个值作为默认值:

    >>> dd['foo']
    []
    >>> dd
    defaultdict(<type 'list'>, {'foo': []})
    >>> dd['bar'].append('quux')
    >>> dd
    defaultdict(<type 'list'>, {'foo': [], 'bar': ['quux']})
    
    

    下面的案例同样用到了该方法

    from collections import defaultdict
    
    def log_missing():
        print('Kye added')
        return []
    
    current = {'green': 12, 'blue': 3}
    increments = [
        ('red', 5),
        ('blue', 17),
        ('orange', 9)
    ]
    result = defaultdict(log_missing, current)
    for key, amount in increments:
        if not result[key]:
            result[key] = amount
        else:
            result[key] += amount
    
    print('After: ', dict(result))
    

    相关文章

      网友评论

          本文标题:python的defaultdict使用方法

          本文链接:https://www.haomeiwen.com/subject/rptnzttx.html