zoukankan      html  css  js  c++  java
  • 【python深入】collections-Counter使用总结

    关于collections的使用,首先介绍:Counter的使用

    需要执行:from collections import Counter

    在很多使用到dict和次数的场景下,Python中用Counter来实现会非常简洁,效率也会很高

    接下来是对其用法的一个简介:

    初始化:

     

    从上面可以看出,可以直接Counter()为空,之后再通过c[0]=1类似这样的方式进行设置,可以从一个类似list或者tuple这样可迭代对象,也可以从mapping得到,也可以直接通过keywords参数的形式进行初始化

    下面是所支持的方法:

    1、elements()

     

    获取elements就是将其中的key值乘以出现次数全部打印出来,当然需要通过list或者其他方式将其所有元素全部展示出来,当出现了负数或者0的情况,可以看到:负数对应的key值是不会打印的:

     

    2、most_common([n])

    根据上面的c值来计算most_common(),其中c出现次数2次,a出现次数1次,b出现次数-1次,执行方法后可以看到,n为可选参数,如果不输入n的值,则默认返回所有,输入-1则返回空,输入小于最长长度,则返回前n个数,输入等于最长长度,则返回所有:

     

    3、subtract([iterable_or_mapping])

    可以直接看用法:

     

    是通过c.subtract(d)来进行调用的,如果c中某个元素不存在,则默认其值为0,其实得到的就是将所有元素进行相减的结果

    4、接下来是通用用法,下面的这些Counter对象都是支持的,包括:

    c.values()

    sum(c.values())

    c.keys()

    c.clear()

    list(c)

    set(c)

    dict(c)

    c.items()

    c += Counter()    #这个是最神奇的,就是可以将负数和0的值对应的key项去掉

     

    并且像加减与或等的也都是支持的:

  • 相关阅读:
    20170519
    20170515
    20170511
    20170509
    20170505
    使用 FirewallD 构建动态防火墙
    Elasticsearch 5.2.1Cluster 搭建
    elk,centos7,filebeat,elasticsearch-head详细安装步骤
    elk,centos7,filebeat,elasticsearch-head集成搭建
    memcached
  • 原文地址:https://www.cnblogs.com/keke-xiaoxiami/p/8553076.html
Copyright © 2011-2022 走看看