python 计数器

1.创建

class Counter(dict):  字典的一个子类

>>> import collections
>>> obj = collections.Counter(‘sdfsdsdffgscvsd‘)
>>> print(obj)
Counter({‘s‘: 5, ‘d‘: 4, ‘f‘: 3, ‘c‘: 1, ‘g‘: 1, ‘v‘: 1})

>>> obj = collections.Counter([‘11‘,‘22‘,‘33‘,‘44‘])
>>> print(obj)
Counter({‘22‘: 1, ‘44‘: 1, ‘11‘: 1, ‘33‘: 1})
>>>

2.most_common

>>> obj = collections.Counter(‘sdfsdsdffgscvsd‘)
>>> print(obj.most_common(2))
[(‘s‘, 5), (‘d‘, 4)]

3.循环

>>> obj = collections.Counter(‘sdfsdsdffgscvsd‘)
>>> for k,v in obj.items():
...   print(k,v)
... 
c 1
f 3
g 1
d 4
s 5
v 1

4.elements

>>> for item in obj.elements():
...   print(item)
... 
c
f
f
f
g
d
d
d
d
s
s
s
s
s
v

>>> obj = collections.Counter([‘11‘,‘22‘,‘33‘,‘44‘])
>>> for item in obj.elements():
...   print(item)
... 
22
44
11
33

5.update

>>> obj = collections.Counter([‘11‘,‘22‘,‘33‘,‘44‘])
>>> obj.update([‘33‘,‘44‘,‘55‘])
>>> print(obj)
Counter({‘44‘: 2, ‘33‘: 2, ‘55‘: 1, ‘22‘: 1, ‘11‘: 1})
>>>

6.相减

>>> obj = collections.Counter([‘11‘,‘22‘,‘33‘,‘44‘])
>>> obj.subtract([‘33‘,‘33‘,‘55‘])
>>> print(obj)
Counter({‘22‘: 1, ‘44‘: 1, ‘11‘: 1, ‘55‘: -1, ‘33‘: -1})
>>>
时间: 2024-12-27 12:50:36

python 计数器的相关文章

python计数器Count

1 # python计数器Counter 2 # 需导入模块collections 3 import collections 4 5 # 统计各个字符出现的次数,以字典形式返回 6 obj = collections.Counter('adfsdfsdfswrwerwegfhgfhgh') 7 print obj 8 9 # 按参数给定的个数返回 10 print obj.most_common(4) # 执行结果显示 Counter({'f': 5, 'd': 3, 'g': 3, 'h':

重新学习python系列(四)? WTF?

多进程: fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程), 然后,分别在父进程和子进程内返回getppid()得到父进程的IDgetpid() 得到当前进程的ID # multiprocessing.py import os print 'Process (%s) start...' % os.getpid() pid = os.fork() if pid==0: print 'I am child process (%s) and my par

Python学习笔记——基础篇2【第三周】

collections系列 Python计数器Counter 1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 1 2 3 c = Counter('abcdeabcdabcaba') print c 输出:Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1}) Counter

day1:python容器

python中的容器有:列表.元组.字典和集合 列表 #使用[] 或list() 创建列表 num_list=list([1,2,3,4,5]) name_list=["Jack","Michael","Kangkang"] print(num_list,name_list) #使用list()将其他数据类型转换为列表 #将一个字符串转换成由单个字母组成的列表 li=list("cat dog") print(li) #将一个

python有用的代码段

Python是一种通用的高级编程语言.用它可以做许多事,比如开发桌面 GUI 应用程序.网站和 Web 应用程序等. 作为一种高级编程语言,Python 还可以让你通过处理常见的编程任务来专注应用程序的核心功能.并且,编程语言的简单语法规则进一步简化了代码库的可读性和应用程序的可维护性. 与其他编程语言相比,Python 的优势在于: 与主要平台和操作系统兼容: 有许多开源框架和工具: 代码具备可读性和可维护性: 健壮的标准库: 标准测试驱动开发 在本文中,我将介绍 25 个简短且有用的代码段,

PythonDay3知识点

set集合 set是一个无序且不重复的元素集合 class set(object):    """     set() -> new empty set object     set(iterable) -> new set object          Build an unordered collection of unique elements.    """     def add(self, *args, **kwargs

python的collections.Counter()计数器

collections中的Counter计数器 python模块collections提供了内置容器类型dict,list,set,tuple更专业的容器数据类型. Counter计数器 计数器(Counter)是一个容器,用来跟踪值出现了多少次. 计数器支持三种形式的初始化.构造函数可以调用序列,包含key和计数的字典,或使用关键词参数. >>> import collections >>> print collections.Counter(['a','b','c'

【python】collections模块(有序字典,计数器,双向队列)

collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型: 1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类2.deque: 双端队列,可以快速的从另外一侧追加和推出对象3.Counter: 计数器,主要用来计数4.OrderedDict: 有序字典5.defaultdict: 带有默认值的字典 n

Python C API 引用计数器(三)

简介 Python的内存管理是通过对象的引用计数器来实现的,对象的创建会将引用计数器加1,被引用一次则引用计数器就会加1,反之解除引用时,则引用计数器就会减1,当Python对象的引用计数器为0的时候,则这个对象就会被回收和释放. 这种内存管理的方式是有一定的弊端的,一是它需要额外的空间维护引用计数,二是它不能解决对象的"循环引用"的问题,因此,也有很多语言比如Java并没有采用该算法做来垃圾的回收机制. Python代码实例 import sys def test_refcount(