zoukankan      html  css  js  c++  java
  • collections系列之Counter

    collections模块中有一个叫做Counter的类,该类的作用就是计数器,Counter是对dict的加工,所有Counter继承了dict的方法

    1、创建一个Counter,需要import collections库,通过collections库创建Counter,主要的功能就是统计每个元素出现的次数

    import collections
    obj = collections.Counter("adalfjklajflkajfklejlasdkfjaklfjlkasfja")
    print(obj)
    # Counter({'a': 8, 'l': 7, 'j': 7, 'f': 6, 'k': 6, 'd': 2, 's': 2, 'e': 1})

    l1 = ["ada","ada","cc"]
    obj = collections.Counter(l1)
    print(obj)
    # Counter({'ada': 2, 'cc': 1})

    2、Counter的另外一个方法就是most_common,可以指定统计出出现次数排名前X的元素,出现的次数从大到小排列,比如下面的例子,只统计出现次数最多的前3个元素

    obj = collections.Counter("adalfjklajflkajfklejlasdkfjaklfjlkasfja")
    print(obj)
    ret = obj.most_common(3)
    print(ret)
    # [('a', 8), ('l', 7), ('j', 7)]
    

    3、elements方法,可以列出Counter对象中的每一个元素

    l1 = ["ada","ada","cc"]
    obj = collections.Counter(l1)
    print(obj)
    for i in obj.elements():
        print(i)
    
    # ada
    # ada
    # cc
    

    4、update方法,可以增加Counter对象中的内容

    l1 = ["ada","ada","cc"]
    obj = collections.Counter(l1)
    print(obj)
    # Counter({'ada': 2, 'cc': 1})
    l2 =["cc","add","ada",1]
    obj.update(l2)
    print(obj)
    # Counter({'ada': 3, 'cc': 2, 'add': 1, 1: 1})
    

    5、subtract方法,可以减少Counter对象中的内容,可以看到如果减少的元素在Counter中没有,则该元素的值为-1

    l1 = ["ada","ada","cc"]
    l2 =["cc","add","ada",1]
    obj = collections.Counter(l1)
    print(obj)
    # Counter({'ada': 2, 'cc': 1})
    obj.subtract(l2)
    print(obj)
    # Counter({'ada': 1, 'cc': 0, 'add': -1, 1: -1})
    

      

  • 相关阅读:
    AVL树入门
    hdu 3709 Balanced Number
    跟着病毒学技术--学习WannaCry自己实现LoadLirbrary
    Win7下64位扫雷逆向以及辅助制作
    Qt使用.lib静态库和.dll动态库文件
    X64调用规范
    “热补丁”Hook,多线程下InlineHook解决方法
    x86 x64下调用约定浅析
    配置Sublime Text3编译汇编并高亮代码
    反调试技术(一)--静态反调试
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/6503298.html
Copyright © 2011-2022 走看看