python3中遇到的实用函数

collections包

Counter

Counter是dict子类,用于计算哈希对象。它是一个无序集合,其元素存储为字典键, 其计数存储为字典值。计数允许为任何整数值,包括0和负计算值。
初始化
可以初始化Countered从interable, 或者另一个mapping(可以为Counter类的对象)
注:interable应该就是“序列”吧,字符串、列表、元组等

>>> c = Counter()                           # a new, empty counter
>>> c = Counter('gallahad')                 # a new counter from an iterable
>>> c = Counter({'red': 4, 'blue': 2})      # a new counter from a mapping
>>> c = Counter(cats=4, dogs=8)             # a new counter from keyword args

结果类似如下,key:value形势,value就是统计的出现个数
Out:
Counter({'a': 3, 'd': 1, 'g': 1, 'h': 1, 'l': 2})
Counter({'red': 4, 'blue': 8})
Counter({'cats': 4, 'dogs': 8})

如果没有计数的项则返回0,而不是KeyError

 c = Counter(['eggs', 'ham'])
c['abcd']

Out:0
删除和加入某一项

c['sausage'] = 0        # 添加
del c['sausage']        #删除该key-value项

方法
支持除了字典方法以外的三种方法

  • elements()
    返回一个iterator,它是一个重复元素集合,每个元素重复value次
>>> c = Counter(a=4, b=2, c=0, d=-2)
>>> sorted(c.elements())
['a', 'a', 'a', 'a', 'b', 'b']
  • most_common([n])
    返回n个元素的list,这n个元素由value值决定,由大到小排列。具有相同的计数个数(value)的排序是任意的。如果n是超过Counter中字典元素的个数或者为None,则返回所有元素
>>> Counter('abracadabra').most_common(3)  # doctest: +SKIP
[('a', 5), ('r', 2), ('b', 2)]
  • subtract([iterable-or-mapping])
    元素相减
>>> c = Counter(a=4, b=2, c=0, d=-2)
>>> d = Counter(a=1, b=2, c=3, d=4,e = 3)
>>> c.subtract(d)
>>> c
Counter({'a': 3, 'b': 0, 'c': -3, 'd': -6, 'e': -3})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,891评论 18 139
  • 转载自:https://halfrost.com/go_map_chapter_one/ https://half...
    HuJay阅读 6,175评论 1 5
  • 课程笔记文集地址:Udemy课程:The Complete iOS 9 Developer Course - Bu...
    sing_crystal阅读 483评论 0 3
  • 独处的时候人会变得理智,心坚硬又柔软。独处的时候,我觉得自己的灵魂自由又十分有趣。而这种有趣,我一点也不希望同人分...
    贞吉阅读 214评论 0 0
  • 今天班里新来了一位小朋友,很可爱地问我“老师,我要坐哪一把椅子?”我说“都可以啊,你想坐哪里就坐哪里~”然后她指着...
    MissQueen阅读 182评论 0 1