python中实现计数的一般方法:

1、使用字典解决(dict)

字典计数是最常用的计数方法,逐个遍历数据结构中元素,将元素作为键,元素个数作为值进行统计,依次加入字典中。

实例演示test_lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'f', 's', 'b', 'h', 'k', 'i', 'j', 'c', 'd', 'f']

counter_dict = {}

for item in test_lst:if item in counter_dict: counter_dict[item] += 1 else: counter_dict[item] = 1print(counter_dict)

程序运行结果>>>{'i': 1, 'a': 2, 's': 1, 'g': 1, 'b': 2, 'k': 1, 'h': 1, 'j': 1, 'c': 2, 'e': 1, 'd': 2, 'f': 3}

2、使用dict.setdefault(key, dvalue)方法解决

可以使用dict.setdefault()方式进行统计,比起直接使用dict,该方法不用使用if-else语句进行判断,且避免了KeyError异常。

实例演示test_lst = ['a', 'b', 'c', 'd', 'eshi', 'f', 'g', 'a', 'f', 's', 'b', 'h', 'k', 'i', 'j', 'c', 'd', 'f']

counter_sdict = {}for item in test_lst:counter_sdict[item] = counter_sdict.setdefault(item, 0) + 1print(counter_sdict)

程序运行结果>>>{'k': 1, 'e': 1, 'c': 2, 'a': 2, 'b': 2, 'd': 2, 'f': 3, 'g': 1, 's': 1, 'j': 1, 'i': 1, 'h': 1}

同dict方法,但程序的容错性比上面的方法要好,且数据量大时,该程序比使用dict的传统方法要节省时间。

3、使用defaultdict类解决

defaultdict类的初始化函数接受一个类型作为参数,当所访问的键不存在的时候,它自动实例化一个值作为默认值。使用defaultdict与使用dict的区别在于,defaultdict能够自动对获取结果进行排序,这就解决了我们后续排序的麻烦,并且defaushltdict是自带“轮子”,就不用重新创造了,节省开发时间哦。

实例演示from collections import defaultdict

test_lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'f', 's', 'b', 'h', 'k', 'i', 'j', 'c', 'd', 'f']

counter_ddict = defaultdict(int)for item in test_lst:counter_ddict[item] += 1print(counter_ddict)

程序运行结果>>>defaultdict(, {'k': 1, 'e': 1, 'c': 2, 'a': 2, 'b': 2, 'd': 2, 'f': 3, 'g': 1, 's': 1, 'j': 1, 'i': 1, 'h': 1})

4、结合使用set和list两种数据结构来解决

思路如下:首先,初始化一个set和一个列表list,获取序列中需要统计的元素;然后,依次遍历set中的内容,使用需要统计序列的cosut()方法,分别统计set中的内容并计入新列表中。

实例演示test_lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'f', 's', 'b', 'h', 'k', 'i', 'j', 'c', 'd', 'f']

r_lst = []temp = set(test_lst)for item in temp:r_lst.append((item, test_lst.count(item)))print(r_lst)

程序运行结果>>>[('j', 1), ('k', 1), ('a', 2), ('s', 1), ('d', 2), ('h', 1), ('f', 3), ('c', 2), ('e', 1), ('b', 2), ('i', 1), ('g', 1)]

python3 for计数_python怎么实现计数?相关推荐

  1. python中怎么计数_python怎么实现计数?

    python中实现计数的一般方法: 1.使用字典解决(dict) 字典计数是最常用的计数方法,逐个遍历数据结构中元素,将元素作为键,元素个数作为值进行统计,依次加入字典中. 实例演示test_lst ...

  2. python中引用计数_Python引用计数操作示例

    本文实例讲述了Python引用计数操作.分享给大家供大家参考,具体如下: 为了简化内存管理,Python通过引用计数机制实现了自动的垃圾回收功能,Python中的每个对象都有一个引用计数,用来计数该对 ...

  3. ERROR 1136 (21S01): MySQL 的报错: 错误 1136(21S01): 列的计数 与 value 的计数 不相符 在第四行。

    MySQL 的报错: 错误 1136(21S01): 列的计数 与 value 的计数 不相符 在第四行. desc product+-----------+-------------+------+ ...

  4. 普通计数单位与计算机计数单位区别及时间计数单位

    普通计数单位与计算机计数单位区别 一.普通计数单位 10的18次方 |艾[可萨] | E 10的15次方 |拍[它] | P 10的12次方 |太[拉] | T 10的 9次方 |吉[咖] | G 1 ...

  5. python元组的创建取值排序计数_Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】...

    本文实例讲述了Python元组 tuple的概念与基本操作.分享给大家供大家参考,具体如下: 元组 tuple 元组 tuple的定义 元组的创建 元组的元素访问和计数 1. 元组的元素不能修改 2. ...

  6. python字典get计数_Python内部是如何存储GC引用变量的计数的?

    这段时间一直在想一个问题,为什么Python有了GIL依然还要对变量加锁.Google的过程中查看一些东西,有了新的困惑. 一个说法说Python内部保存了一个用户空间和一个内核空间.用户空间通常就是 ...

  7. python字典计数_Python下封装个好用计数字典包

    在Py下要用到计数字典时会发现,标准库里没有现成计数字典类 Py文档指引里给出用defaultdict类实现计数字典的方案.给出的例子:>>> s = 'mississippi' & ...

  8. python设置一个初始为0的计数器_python中统计计数的几种方法

    以下实例展示了 count() 方法的使用方法: 以上实例输出结果如下: 1) 使用字典dict() 循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1 ...

  9. python中扑克牌类设计_Python中的计数 Counter类

    点击上方"AI机器学习与深度学习算法",选择"星标"公众号 原创干货,第一时间送达 在很多场景中经常会用到统计计数的需求,比如在实现 kNN 算法时统计 k 个 ...

最新文章

  1. PC上虚拟机中安装NW 7.02 ABAP试用版
  2. linux 安装库 编译提示-lcrypto 无法链接,缺少 crypto 库
  3. 【线上分享】边缘云跨区域超低延时架构设计与网络优化实践
  4. 计算机网络必备知识,非常全面!
  5. Java笔记-使用RabbitMQ的Java接口实现Routing(路由模式)
  6. aspen串联反应怎么输入_两个路由器如何串联 两个路由器串联方法【介绍】
  7. 实验3.1 定义一个CPU类,观察构造函数和析构函数的调用顺序
  8. 简单应用定时器和监听器
  9. xtrabackup备份还原的具体操作过程
  10. Javashop 7.0 增加小程序支付(二次开发)
  11. 波束成形技术原理解析
  12. Cocos2d-x教程(33)-三维物体AABB碰撞检测算法
  13. springMVC 一些文章
  14. Codeforces 300D Painting Square dp
  15. 联通链:5G时代的信任链
  16. win10专业版和win10家庭版的区别浅谈
  17. 数字图像处理(4): 遥感影像中 光谱分辨率、空间分辨率、时间分辨率、全色图像、多光谱图像、高光谱图像 的区别
  18. A卡 HD5770(HD6770) Readon HD 5xxx 6xxx系列显卡黑苹果MOJAVE CATALINA QE/CI驱动教程
  19. 喜闻乐见的 2048 游戏 (附源码)
  20. php邮箱必填,ZBlogPHP-1.5 以上版本修改实现用户评论时必填邮箱的功能

热门文章

  1. spring hsqldb_在Spring中嵌入HSQLDB服务器实例
  2. 为什么不应该用Stream forEach替换for循环的3个原因
  3. java概述_Java 7功能概述
  4. hibernate 映射_Hibernate映射集合性能问题
  5. TIBCO产品的微服务和DevOps
  6. 在带有组合框的值列表的下拉列表中显示显示属性的子集
  7. Java EE 8发生了什么?
  8. 在基于Spring MVC的应用程序中配置favicon.ico
  9. 在OpenShift上将JMS与JBoss A-MQ结合使用。 从远程客户端和加密中学到的经验教训。...
  10. 评论:Arun Gupta撰写的“ Java EE 6 Pocket Guide”