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装饰器在Django框架下去除冗余代码的教程
Apr 16 Python
python numpy函数中的linspace创建等差数列详解
Oct 13 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
Python实现二维数组输出为图片
Apr 03 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
python: 判断tuple、list、dict是否为空的方法
Oct 22 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Django框架之DRF 基于mixins来封装的视图详解
Jul 23 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
Expected conditions模块使用方法汇总代码解析
Aug 13 Python
Django解决frame拒绝问题的方法
Dec 18 Python
Python中npy和mat文件的保存与读取
Apr 24 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
虫族 Zerg 热键控制
2020/03/14 星际争霸
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
php中的strpos使用示例
2014/02/27 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
PHPMailer发送邮件
2016/12/28 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
仿微博字符限制效果实现代码
2012/04/20 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
bootstrap table小案例
2016/10/21 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
初步理解Python进程的信号通讯
2015/04/09 Python
简述Python中的进程、线程、协程
2016/03/18 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
Python for循环与range函数的使用详解
2019/03/23 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
使用Python实现画一个中国地图
2019/11/23 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
民间借贷协议书范本
2014/10/01 职场文书
小学体育教学随笔
2015/08/14 职场文书
使用RedisTemplat实现简单的分布式锁
2021/11/20 Redis
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL