Python使用collections的Counter类对字符串、列表、字典的数据元素进行计数
来源:互联网 发布:买期货的算法 编辑:程序博客网 时间:2024/05/16 19:41
#coding:utf8__author__ = 'libingxian'__date = "20170416"import randomimport time"""最近碰到一个需求,对数据出现的次数进行统计"""# 原始方法1:一开始使用比较笨的方法,把原始数据存入列表,然后循环遍历,效率较低,耗时较长def countFunc1(list1): se = set(list1) # 去重,找出种子元素 #print se dict1 = {} t1 = time.time() for i in se: count = 0 # 为每个数据创建一个计数器 for j in list1: # 遍历原始数据 if i == j: count += 1 dict1[i] = count t2 = time.time() print "countFunc1 耗时:",t2 - t1 # print dict1 return dict1# 方法2:使用python内置的集合模块,它提供了许多有用的集合类,其中有个Counter类,它默认对传入的数据元素进行计数,执行效率高def countFunc2(list1): import collections t1 = time.time() listTmp = collections.Counter(list1) t2 = time.time() print "countFunc2 耗时:",t2 - t1 # print listTmp return listTmp# 制造测试数据list1 = []for i in range(100000): list1.append(random.randint(0,200))countFunc1(list1)countFunc2(list1)"""运行结果:countFunc1 耗时: 0.656000137329countFunc2 耗时: 0.0349998474121方法2比方法1执行效率大大提升了 ~O(∩_∩)O~"""
附上collections中Counter类初始化的说明:
0 0
- Python使用collections的Counter类对字符串、列表、字典的数据元素进行计数
- python使用Collections.Counter进行计数
- Python:使用Counter进行计数统计及collections模块
- python 使用Counter统计列表中元素的频度
- Python collections模块的Counter类
- collections模块的Counter类
- Python实现对嵌套列表字典按某一元素合并及lambda的使用
- Python标准库——collections模块的Counter类
- Python标准库——collections模块的Counter类
- Python标准库——collections模块的Counter类
- Python标准库——collections模块的Counter类
- Python标准库——collections模块的Counter类
- Python标准库——collections模块的Counter类
- python 2-3 如何统计序列中元素的出现频度--collections.Counter
- python——使用itemgetter和sorted对列表内的元素进行排序
- 使用数据字典进行下拉列表的选择
- 使用指定的比较器对整个 System.Collections.ArrayList 中的元素进行排序。
- python之collections模块Counter类使用学习
- 计算机网络总结
- 《API Design for C++》读书笔记(二)
- 存储过程实例
- 弟子规
- 自学考试操作系统总结
- Python使用collections的Counter类对字符串、列表、字典的数据元素进行计数
- 开篇,我的博客
- JVM调优总结(六)-分代垃圾回收详述2
- 2017年4月16日21:48:14 88. Merge Sorted Array 【easy】
- AOJ 847 整数拆段
- SQl考试
- Android学习------使用RenderScript ,ScriptIntrinsicBlur实现高斯模糊
- 使用python-aiohttp爬取今日头条
- 【开始】从零开始,进军崭新的世界