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实现数通设备tftp备份配置文件示例
Apr 02 Python
Python文件夹与文件的相关操作(推荐)
Jul 25 Python
python利用正则表达式排除集合中字符的功能示例
Oct 10 Python
Django框架使用富文本编辑器Uedit的方法分析
Jul 31 Python
python异步实现定时任务和周期任务的方法
Jun 29 Python
django实现类似触发器的功能
Nov 15 Python
python 实现生成均匀分布的点
Dec 05 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
Python类如何定义私有变量
Feb 03 Python
Python多线程正确用法实例解析
May 30 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
Jun 27 Python
基于Python实现将列表数据生成折线图
Mar 23 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做下载文件的实现代码及文件名中乱码解决方法
2011/02/03 PHP
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
php使用curl存储cookie的示例
2014/03/31 PHP
php的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
JQuery 风格的HTML文本转义
2009/07/01 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
Django的session中对于用户验证的支持
2015/07/23 Python
python os用法总结
2018/06/08 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
Skyscanner香港:机票比价, 平机票和廉价航空机票预订
2020/02/07 全球购物
大学生个人求职信范文
2013/09/21 职场文书
师范毕业生求职自荐信
2013/09/25 职场文书
财务会计人员求职的自我评价
2014/01/13 职场文书
小摄影师教学反思
2014/04/27 职场文书
一文搞懂MySQL索引页结构
2022/02/28 MySQL