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列表生成器的循环技巧分享
Mar 06 Python
Python设计实现的计算器功能完整实例
Aug 18 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
Apr 12 Python
Python 数据处理库 pandas进阶教程
Apr 21 Python
python的concat等多种用法详解
Nov 28 Python
python把1变成01的步骤总结
Feb 27 Python
python3.4+pycharm 环境安装及使用方法
Jun 13 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
keras 解决加载lstm+crf模型出错的问题
Jun 10 Python
pytorch加载自己的图像数据集实例
Jul 07 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 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中使用Oracle数据库(6)
2006/10/09 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
php代码架构的八点注意事项
2016/01/25 PHP
PHP常见加密函数用法示例【crypt与md5】
2019/01/27 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
javascript web页面刷新的方法收集
2009/07/02 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
使用 js+正则表达式为关键词添加链接
2014/11/11 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
CentOS6.5设置Django开发环境
2016/10/13 Python
python装饰器实例大详解
2017/10/25 Python
python3.5 tkinter实现页面跳转
2018/01/30 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
用python写爬虫简单吗
2020/07/28 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
护士毕业生自荐信
2014/02/07 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
党员自我评价2015
2015/03/03 职场文书
教你部署vue项目到docker
2022/04/05 Vue.js