关于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项去掉

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

最新文章

  1. 最好的5个Android ORM框架
  2. Mysql中sql_mode详解
  3. 解决ThinkPHP Call to a member function assign() on a non-object
  4. Ubuntu 16.04系统布署小记
  5. Java-继承,多态练习09-22-01
  6. supersr--控制器的生命周期:
  7. iOS中属性与成员变量的区别
  8. matlab 非平稳变化时域分析
  9. 项目积累——Strus、Hibernate
  10. Mybatis-Generator插件自动生成Dao、Model、Mapping相关文件
  11. SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-005-定义切面使用@Aspect、@EnableAspectJAutoProxy、<aop:aspectj-autoproxy>
  12. 133. Clone Graph
  13. python运维开发(十四)----HTML基本操作
  14. gzip解压压缩的字符串数据
  15. 安卓 listview与arrayadapter
  16. Nginx+Tomcat+MemCached 集群配置手册
  17. Flutter常用组件(Widget)解析-Image
  18. 【洛谷p1601】A+B Problem(高精)
  19. Android.StructureOfAndroidSourceCodeRootTree
  20. 【ARTS】01_08_左耳听风-20181231~20190106

热门文章

  1. HTML超链接和路径
  2. 批量将某一目录下的.py文件改为.txt格式文件
  3. LeetCode - Word Subsets
  4. CSS hack 360浏览器 极速模式与兼容模式
  5. 配置SSH使用秘钥登录
  6. python print format
  7. windows下matplotlib编译安装备忘
  8. Mysql数据库主从复制搭建
  9. [UE4]VR成像原理
  10. Python安装与Pycharm使用入门