zoukankan      html  css  js  c++  java
  • Python说文解字_defaultdict

    1. 这个构造函数需要一个函数作为参数,每当访问一个字典中不存在的键时,将会不带参数的调用这个函数,并将结果设定为默认值。

    2. 众所周期,如果访问字典中不存在的键时,会引发KeyError异常。

    其实这个方法主要是用来统计计数的

    # 语法格式:
    # collections.defaultdict([default_factory[, …]])
    
    from collections import defaultdict
    s=[('yellow',1),('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
    
    d=defaultdict(list)
    print(d)
    
    for k, v in s:
        print(k,v)
        d[k].append(v)
    
    a=sorted(d.items())
    print(a)
    
    # defaultdict(<class 'list'>, {})
    # yellow 1
    # blue 2
    # yellow 3
    # blue 4
    # red 1
    # [('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
    
    
    # 当字典中没有的键第一次出现时,default_factory自动为其返回一个空列表,list.append()会将值添加进新列表;再次遇到相同的键时,list.append()将其它值再添加进该列表。
    #
    # 这种方法比使用dict.setdefault()更为便捷,dict.setdefault()也可以实现相同的功能。
    from collections import defaultdict
    s = 'mississippi'
    d = defaultdict(int)
    for k in s:
        d[k] += 1
    print('
    ',d)
    a=sorted(d.items())
    print('
    ',a)
    # defaultdict( class 'int'>, {'m': 1, 'i': 4, 's': 4, 'p': 2})
    # [('i', 4), ('m', 1), ('p', 2), ('s', 4)]
  • 相关阅读:
    集合(set)
    字典方法
    字典(dict)
    元组(tuple)
    列表方法
    xxxx(四):接受消息hook地址分析
    xxxx(三)“黑吃黑”: 破解别人外挂
    UDP内网穿透和打洞原理与代码实现
    VMP加壳(三):VMP壳爆破实战-破解某编辑类软件
    VMP加壳(二):VMP的虚拟化原理
  • 原文地址:https://www.cnblogs.com/noah0532/p/10960047.html
Copyright © 2011-2022 走看看