python中计算一个列表中连续相同的元素个数方法


Posted in Python onJune 29, 2018

最简单的例子:

a = [1,1,1,1,2,2,2,3,3,1,1,1,3]
# 问:计算a中最多有几个连续的1

很明显,答案是4

如果用代码实现,最先想到的就是itertools:

import itertools
a = [1,1,1,1,2,2,2,3,3,1,1,1,3]
print max([len(list(v)) for k,v in itertools.groupby(a)])

但是如果不想用itertools呢?

可以尝试以下的办法,效率还比itertools高一个数量级!

import random
import time
import itertools

random.seed(0)
a = ['1' if random.random()>0.4 else ' ' for i in range(1000000)]

t = time.time()
print max([len(x) for x in ''.join(a).split()])
print time.time()-t

t = time.time()
print max([len(list(v)) for k,v in itertools.groupby(a)])
print time.time()-t

#####
# 27
# 0.050999879837
# 27
# 0.450000047684

以上这篇python中计算一个列表中连续相同的元素个数方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现比较两个文件夹中代码变化的方法
Jul 10 Python
简单实现python爬虫功能
Dec 31 Python
python的numpy模块安装不成功简单解决方法总结
Dec 23 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
Jan 04 Python
python中set()函数简介及实例解析
Jan 09 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
python数据处理 根据颜色对图片进行分类的方法
Dec 08 Python
Python小游戏之300行代码实现俄罗斯方块
Jan 04 Python
python3对接mysql数据库实例详解
Apr 30 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
python 提取html文本的方法
May 20 Python
Python使用ConfigParser模块操作配置文件的方法
Jun 29 #Python
python计算列表内各元素的个数实例
Jun 29 #Python
python判断设备是否联网的方法
Jun 29 #Python
python3 对list中每个元素进行处理的方法
Jun 29 #Python
python对list中的每个元素进行某种操作的方法
Jun 29 #Python
Python中交换两个元素的实现方法
Jun 29 #Python
python3中zip()函数使用详解
Jun 29 #Python
You might like
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
php unset全局变量运用问题的深入解析
2013/06/17 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
php 实现进制相互转换
2016/04/07 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
jquery中:input和input的区别分析
2011/07/13 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
livereload工具实现前端可视化开发【推荐】
2016/12/23 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
2017/11/16 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
shell程序中如何注释
2012/02/17 面试题
应届大学生求职信
2013/12/01 职场文书
幼儿园家长评语
2014/02/10 职场文书
2014年党建工作总结
2014/11/11 职场文书
鸟的天堂导游词
2015/01/31 职场文书
公务员个人总结
2015/02/12 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
html中两种获取标签内的值的方法
2022/06/10 HTML / CSS
一文解答什么是MySQL的回表
2022/08/05 MySQL