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 pickle 和 shelve模块的用法
Sep 16 Python
Python Paramiko模块的安装与使用详解
Nov 18 Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 Python
对python中的pop函数和append函数详解
May 04 Python
python opencv实现运动检测
Jul 10 Python
python实现顺时针打印矩阵
Mar 02 Python
python实现对输入的密文加密
Mar 20 Python
python opencv 简单阈值算法的实现
Aug 04 Python
Python监控服务器实用工具psutil使用解析
Dec 19 Python
安装完Python包然后找不到模块的解决步骤
Feb 13 Python
python中if及if-else如何使用
Jun 02 Python
Python return语句如何实现结果返回调用
Oct 15 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实现图片压缩
2020/09/09 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
使用js Math.random()函数生成n到m间的随机数字
2014/10/09 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
javascript+html5+css3自定义提示窗口
2017/06/21 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
python创建和删除目录的方法
2015/04/29 Python
pygame加载中文名mp3文件出现error
2017/03/31 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python try except 捕获所有异常的实例
2018/10/18 Python
Python异常处理知识点总结
2019/02/18 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
遇到的Mysql的面试题
2014/06/29 面试题
客户接待方案
2014/02/26 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
Python中time与datetime模块使用方法详解
2022/03/31 Python