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小技巧之批量抓取美女图片
Jun 06 Python
python实现用户登录系统
May 21 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
python操作MySQL 模拟简单银行转账操作
Sep 27 Python
python3中property使用方法详解
Apr 23 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
Django实现auth模块下的登录注册与注销功能
Oct 10 Python
python3实现弹弹球小游戏
Nov 25 Python
解决tensorflow/keras时出现数组维度不匹配问题
Jun 29 Python
解决Python安装cryptography报错问题
Sep 03 Python
Python尾递归优化实现代码及原理详解
Oct 09 Python
python安装mysql的依赖包mysql-python操作
Jan 01 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面向对象的方法重载两种版本比较
2008/09/08 PHP
php 将excel导入mysql
2009/11/09 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
jquery 学习之二 属性相关
2010/11/23 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
利用ctypes提高Python的执行速度
2016/09/09 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python plotly绘制直方图实例详解
2019/07/22 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
canvas烟花特效锦集
2018/01/17 HTML / CSS
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
什么是lambda函数
2013/09/17 面试题
装饰活动策划方案
2014/02/11 职场文书
文体活动总结范文
2014/05/05 职场文书
应届生求职信范文
2014/06/30 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
党员公开承诺书2015
2015/01/21 职场文书
锅炉工岗位职责
2015/02/13 职场文书
党校培训学习心得体会
2016/01/06 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android