1) 使用字典dict()

循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1.

lists = ['a','a','b',5,6,7,5]

count_dict = dict()

for item in lists:

if item in count_dict:

count_dict[item] += 1

else:

count_dict[item] = 1

2) 使用defaultdict()

defaultdict(parameter)可以接受一个类型参数,如str,int等,但传递进来的类型参数,不是用来约束值的类型,更不是约束键的类型,而是当键不存在的话,实现一种值的初始化

defaultdict(int):初始化为 0

defaultdict(float):初始化为 0.0

defaultdict(str):初始化为 ”

from collections import defaultdict

lists = ['a', 'a', 'b', 5, 6, 7, 5]

count_dict = defaultdict(int)

for item in lists:

count_dict[item] += 1

3) 使用集合(set)和列表(list)

先使用set去重,然后循环的把每一个元素和每一个元素对应的次数lists.count(item)组成一个元组放在列表里面

lists = ['a', 'a', 'b', 5, 6, 7, 5]

count_set = set(lists)

count_list = list()

for item in count_set:

count_list.append((item,lists.count(item))

4) 使用Counter

Counter是一个容器对象,主要的作用是用来统计散列对象,可以使用三种方式来初始化

参数里面参数可迭代对象 Counter("success")

传入关键字参数Counter((s=3,c=2,e=1,u=1))

传入字典 Counter({"s":3,"c"=2,"e"=1,"u"=1})

Counter()对象还有几个可以调用的方法,代码里面分别进行了说明

from collections import Counter

lists = ['a', 'a', 'b', 5, 6, 7, 5]

a = Counter(lists)

print(a) # Counter({'a': 2, 5: 2, 'b': 1, 6: 1, 7: 1})

a.elements() # 获取a中所有的键,返回的是一个对象,我们可以通过list来转化它

a.most_common(2) # 前两个出现频率最高的元素已经他们的次数,返回的是列表里面嵌套元组

a['zz'] # 访问不存在的时候,默认返回0

a.update("aa5bzz") # 更新被统计的对象,即原有的计数值与新增的相加,而不是替换

a.subtrct("aaa5z") # 实现与原有的计数值相减,结果运行为0和负值

以上这篇浅谈python中统计计数的几种方法和Counter详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: 浅谈python中统计计数的几种方法和Counter详解

本文地址: http://www.cppcns.com/jiaoben/python/284842.html

python中怎么计数_浅谈python中统计计数的几种方法和Counter详解相关推荐

  1. python sys模块作用_浅谈Python中的模块

    模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Mod ...

  2. python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式

    本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...

  3. python 中arange函数_浅谈Python中range与Numpy中arange的比较

    本文先比较range与arange的异同点,再详细介绍各自的用法,然后列举了几个简单的示例,最后对xrange进行了简单的说明. 1. range与arange的比较 (1)相同点:A.参数的可选性. ...

  4. python dtype什么意思_浅谈python 中的 type(), dtype(), astype()的区别

    如下所示: 函数 说明 type() 返回数据结构类型(list.dict.numpy.ndarray 等) dtype() 返回数据元素的数据类型(int.float等) 备注:1)由于 list. ...

  5. python中rstrip用法_浅谈Python3中strip()、lstrip()、rstrip()用法详解

    简单来说,三种方法是为了删除字符串中不同位置的指定字符.其中,strip()用于去除字符串的首尾字符,同理,lstrip()用于去除左边的字符,rstrip()用于去除右边的字符 Python中有三个 ...

  6. python中astype用法_浅谈python 中的 type(), dtype(), astype()的区别

    如下所示: 函数 说明 type() 返回数据结构类型(list.dict.numpy.ndarray 等) dtype() 返回数据元素的数据类型(int.float等) 备注:1)由于 list. ...

  7. python中文字符串编码_浅谈python下含中文字符串正则表达式的编码问题

    前言 Python文件默认的编码格式是ascii ,无法识别汉字,因为ascii码中没有中文. 所以py文件中要写中文字符时,一般在开头加 # -*- coding: utf-8 -*- 或者 #co ...

  8. python 共享内存变量_浅谈python多进程共享变量Value的使用tips

    前言: 在使用tornado的多进程时,需要多个进程共享一个状态变量,于是考虑使用multiprocessing.Value(对于该变量的具体细节请查阅相关资料).在根据网上资料使用Value时,由于 ...

  9. python数据类型转换原因_浅谈Python数据类型之间的转换

    Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 compl ...

最新文章

  1. (C++)A+B 输入输出练习V 输入的第一行是一个正数N,表示后面有N行。每一行的第一个数是M,表示本行后面还有M个数。
  2. Microsfot.Web.UI.WebControls.TreeView JavaScript控制方法研究(转)
  3. 神经网络第三部分:网络Neural Networks, Part 3: The Network
  4. 从运维域看 Serverless 真的就是万能银弹吗?
  5. 神策数据颜含:流量见顶与监管趋严的双重压力下,大文娱产品如何突围?
  6. 对ASCII文件的操作
  7. Makefile函数使用
  8. 【论文阅读笔记】文本相似度分析方面
  9. 【C语言程序】带你用17行代码编译一个C语言数字雨
  10. 2022电工(中级)考试模拟100题模拟考试平台操作
  11. 设计模式(九)——代理模式(Proxy)
  12. centos7解决ping 网址报错name or service not known
  13. 用手机制作pdf电子书
  14. https改成http(轮播图)
  15. vs2015安装时遇到更新KB2919355
  16. 【转载】数据分析中的两种偏差(选择性偏差、幸存者偏差)
  17. NFC是什么 Android手机上的NFC都能做什么
  18. java线程池场景使用
  19. Linux微信1001无标题,微信个性签名1001无标题
  20. 查找引用类EXCEL函数之VLOOKUP函数的使用方法

热门文章

  1. 选好的两组台式机配置
  2. 递归神经网络部分组件(七)
  3. HTML禁用Flash文件右键
  4. HTTP 协议的三次握手
  5. 如何解决python爬虫requests.get()遇到的418问题
  6. shell模拟php多进程从redis获取数据(一个库多个key值)
  7. 使用redis缓存加索引处理数据库百万级并发
  8. mysql 分库分表的方法
  9. jQuery按键事件keyup
  10. linux之shell