python中counter()记数

一:定义一个list数组,求数组中每个元素出现的次数

如果用Java来实现,是一个比较复杂的,需要遍历数组list。

但是Python很简单:看代码

[python] view plain copy

  1. a = [1,4,2,3,2,3,4,2]
  2. from collections import Counter
  3. print Counter(a)


打印结果:

Counter({2: 3, 3: 2, 4: 2, 1: 1})

结果表示:元素2出现了3次;元素3出现了2次;元素4出现了2次;元素1出现了1次。

 

二:求数组中出现次数最多的元素

直接看代码:

[python] view plain copy

  1. a = [1,4,2,3,2,3,4,2]
  2. from collections import Counter
  3. print Counter(a).most_commo(1)

运行结果:

[(2, 3)]

        继续修改代码:

[python] view plain copy

  1. a = [1,4,2,3,2,3,4,2]
  2. from collections import Counter
  3. print Counter(a)
  4. print Counter(a).most_common(2)

运行结果:

[(2, 3), (3, 2)]

 

三:总结

(1)从Collections集合模块中引入集合类Counter

(2)Counter(a)可以打印出数组a中每个元素出现的次数

(3)Counter(a).most_common(2)可以打印出数组中出现次数最多的元素。参数2表示的含义是:输出几个出现次数最多的元素。

 

转自:http://blog.csdn.net/u013628152/article/details/43198605

原文地址:https://www.cnblogs.com/fengff/p/9378664.html

时间: 2024-08-06 03:08:13

python中counter()记数的相关文章

Python中Counter统计数据输出具体办法

from collections import Counter # 列表 l_one = [1709020621, 1709020621, 1770603107, 1770603105, 1770603106, 1770603105, 1709020621] # 把列表换成字典统计 c = Counter(l_one) print(c) k = c.most_common(len(c)) # 找出全部元素从大到小的元素频率以及对应的次数. # 转化成列表形式,列表每一项又是元祖. print(k

Python中获取两数相除的商和余数

code #!/usr/bin/python3 # -*- coding: utf-8 -*- a = int(input(u"输入被除数: ")) b = int(input(u"输入除数:")) div = a // b mod = a % b print("{} / {} = {} ... {}".format(a, b, div, mod)) print("{} / {} = {} ... {}".format(a,

Python中Collections模块的Counter容器类使用教程

1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类:排序字典,是字典的子类.引入自2.7.namedtuple()函数:命名元组,是一个工厂函数.引入自2.6.Counter类:为hashable对象计数,是字典的子类.引入自2.7.deque:双向队列.引入自2.4.defaultdict:使用工厂函数创建字典,使不用考虑缺失的字典键.引入自2.

python中的关键字---7(re/序列化/Counter模块)

import re  正则 正则表达式 # 元字符 # \w 数字字母下划线 # \W 非数字字母下划线 # \d 数字 # \D 非数字 # \s 空白符(空格\制表符\换行符) # \S 非空白符 # \t 制表符 # \n 换行符 # \b 单词的边界 # . 除了换行符以外的所有 # ^ 开始 # $ 结尾 # [..] 字符组 # [^..] 非字符组 # | 或(包含关系中,长的在前面) # () 分组(在或的两端,在添加量词的时候,findall的时候优先要显示的) # (123\

Python中并发、多线程等

1.基本概念 并发和并行的区别: 1)并行,parallel 同时做某些事,可以互不干扰的同一时刻做几件事.(解决并发的一种方法) 高速公路多个车道,车辆都在跑.同一时刻. 2)并发 concurrency 同时做某些事,一个时段内有事情要处理.(遇到的问题) 高并发,同一时刻内,有很多事情要处理. 2.并发的解决 1)队列.缓冲区 排队就是把人排成队列,先进先出,解决了资源使用的问题. 排成的队列,其实就是一个缓冲地带,就是缓冲区. Queue模块的类queue.lifoqueue.prior

python中socket模块

一.初识socket      socket 是网络连接端点,每个socket都被绑定到一个特定的IP地址和端口.IP地址是一个由4个数组成的序列,这4个数均是范围 0~255中的值(例如,220,176,36,76):端口数值的取值范围是0~65535.端口数小于1024的都是为众所周知的网络服务所保留的 (例如Web服务使用的80端口):最大的保留数被存储在socket模块的IPPORT_RESERVED变量中.你也可以为你的程序使用另外的端口数 值. 不是所有的IP地址都对世界的其它地方可

《python解释器源码剖析》第4章--python中的list对象

4.0 序 python中的list对象,底层对应的则是PyListObject.如果你熟悉C++,那么会很容易和C++中的list联系起来.但实际上,这个C++中的list大相径庭,反而和STL中的vector比较类似 4.1 PyListObject对象 我们知道python里面的list对象是支持对元素进行增删改查等操作的,list对象里面存储的,底层无一例外都是PyObject * 指针.所以实际上我们可以这样看待python底层的PyListObject:vector<PyObject

浅谈python中字典

1.字典的定义方式有以下: a=dict(one=1,two=2,three=3) b={'one':1,'two':2,'three':3} c=dict(zip(['one','two','three'],[1,2,3])) d=dict([('two',2),('one',1),('three',3)]) e=dict({'three':3,'one':1,'two':2}) 其中这四种定义方式完全等效,有一点需要牢记,标准库中所有的映射类型都是通过字典(dict)来实现,其中只有可散列(

使用C语言为python编写动态模块(1)--从底层深度解析python中的对象以及变量

楔子 我们知道可以通过使用C语言编写动态链接库的方式来给python加速,但是方式是通过ctypes来加载,通过类CDLL将动态链接库加载进来得到一个对象之后,通过这个对象来调用动态链接库里面的函数.那么问题来了,我们可不可以使用C语言为python编写模块呢?然后在使用的时候不使用ctypes加载动态库的方式,而是通过python的关键字import进行加载. 答案是可以的,我们知道可以通过编写py文件的方式来得到一个模块,那么也可以使用C语言来编写C源文件,然后再通过python解释器进行编