python中计算一个列表中连续相同的元素个数方法

最简单的例子:

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中计算一个列表中连续相同的元素个数方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2018-06-26

本文实例讲述了Python实现去除列表中重复元素的方法.分享给大家供大家参考,具体如下: 这里一共使用了四种方法来去除列表中的重复元素,下面是具体实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:去除列表中的重复元素 ''' def func1(one_list): ''''' 使用集合,个人最常用 ''' return list(set(one_list)) def func2(one_list): ''''' 使用

前言 Python包含6种内置的序列:列表.元组.字符串 .Unicode字符串.buffer对象.xrange对象.在序列中的每个元素都有自己的编号.列表与元组的区别在于,列表是可以修改,而组元不可修改.理论上几乎所有情况下元组都可以用列表来代替.有个例外是但元组作为字典的键时,在这种情况下,因为键不可修改,所以就不能使用列表. 我们在一些统计工作或者分析过程中,有事会遇到要统计一个序列中出现最多次的元素,比如一段英文中,查询出现最多的词是什么,及每个词出现的次数.一遍的做法为,将每个此作为k

定义:X=[1,2,3,1,4] 任务:找出元素为1的索引 Solution: # 如果直接用X.index(1),只能得到0这一个索引,而我们需要所有索引. l = len(X) zip_list = zip(*(range(l),X)) id1 = [z[0] for i,z in enumerate(zip_list) if z[1]==1] # 或者更简单的 id1 = [i for i,x in enumerate(X) if x==1] 以上这篇python找出一个列表中相同元素的多

如下所示: aa = [1,2,3,4,5] aa.index(max(aa)) 如果aa是numpy数组: aa = numpy.array([1,2,3,4,5]) 先把aa转换为List,再求索引: bb = aa.tolist() bb.index(max(bb)) 以上这篇python 寻找list中最大元素对应的索引方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

本文实例讲述了Python list列表中删除多个重复元素操作.分享给大家供大家参考,具体如下: 我们以下面这个list为例,删除其中所有值为6的元素: l=[9,6,5,6,6,7,8,9,6,0] 首先尝试remove方法: l.remove(6) print(l) 结果为:[9, 5, 6, 6, 7, 8, 9, 6, 0],只删除了第一个为6的元素. 如果采用for循环遍历各元素: for x in l: if x == 6: l.remove(x) 结果为[9, 5, 7, 8, 9

本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还有一种据说速度更快的,没测试过两者的速度差别 l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2 这两种都有个缺点,祛除重复元素后排序变了: ['a', 'c',

如下所示: list = [5,6,7,9,1,4,3,2,10] list.index(9) out:3 同时可以返回列表中最大值的索引list.index(max(list)) 最小值索引list.index(min(list)) 以上这篇python 返回列表中某个值的索引方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

如下所示: name_list["zhangsan","lisi","wangwu"] #1.取值 print(name_list[0]) print(name_list[1]) print(name_list[2]) #2.取索引 print(name_list.index("lisi")) #3.修改 name_list[1]="李四" #4.增加数据 name_list.append("王小

刚刚上网搜了一下如何用python统计列表中不同元素的数量,发现很少,找了半天.我自己来写一种方法. 代码如下 list=[1,1,2,2,3] print(list) set1=set(list) print(set1) print(len(set1)) #len(set1)即为列表中不同元素的数量 得到结果: [1, 1, 2, 2, 3] {1, 2, 3} 3 原理就是set集合中不允许重复元素出现. 以上这篇python 统计列表中不同元素的数量方法就是小编分享给大家的全部内容了,希望

在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where,其又是list没有的 首先我们可以得到array在全局和每行每列的最大值(最小值同理) >>> a = np.arange(9).reshape((3,3)) >>> a array([[0, 1, 2], [9, 4, 5], [6, 7, 8]]) >>&

如下所示: 以上这篇python实现列表中由数值查到索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

如下所示: # 返回一个列表中第二大的数 def second(ln): max = 0 s = {} for i in range(len(ln)): flag = 0 for j in range(len(ln)): if ln[i] >= ln[j] and i != j: flag = flag + 1 s[i] = flag if flag > max: max = flag print(s) for i in s: if s[i] == max - 1: break print(l

我就废话不多说啦,还是直接看代码吧! list1 = [1,2,3,4] a,b,c,d = list1 则 a = 1 b =2 等 这种方式只有当左边的操作数个数和list1长度相同时,才可以这么做,不然报错. 我们假设我们有一个list对象List,它的长度足够长,想把它从下标i开始的k个元素赋给k个元素,可以这么做: v1, v2, v3, -, vk = List[i : i + k] #默认i=0, k=len(List) 补充知识:python 将某个字段存储为列表类型 实现存储数

我想从列表中取出一部分拿来使用,可以创建切片,指定需要使用的第一个元素和最后一个元素的索引 使用例子,说明切片的使用 #创建一个数字列表,代表我有100页文章,然后进行分页显示 mage=list(range(1,101)) max_count=len(mage) #使用len()获取列表的长度,上节学的 n=0 while n

本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['2', '4', '1', '3'] 想要把每个元素转换为数字: numbers = [2, 4, 1, 3] 1. Python2.x,可以使用map函数: numbers = map(int, numbers) 2. Python3.x,map返回的是map对象,当然也可以转换为List: numbers = list(map(int, numbers)) 排

python统计列表中元素个数_python中计算一个列表中连续相同的元素个数方法相关推荐

  1. python 调用class不指定函数_python调用另一个.py中的类或函数

    同一文件夹下的调用 1.调用函数 A.py文件如下: def add(x,y): print('和为:%d'%(x+y)) 在B.py文件中调用A.py的add函数如下: import A A.add ...

  2. python统计小写字母出现次数_Python函数计算字母字符数,跟踪“e”出现的次数...

    编写一个接收字符串作为输入的函数analyze_text.该函数应该计算文本中字母字符(a到z,或者a到z)的数量,并跟踪字母"e"(大写或小写)的数量.在 函数应返回文本分析,如 ...

  3. python如何创建一个列表_使用python中的format()创建一个列表(make a list using format() in python)...

    使用python中的format()创建一个列表(make a list using format() in python) 我是python和编码的新手. 因此,如果已经讨论过这件事,我很抱歉,我无 ...

  4. 计算一个有向图中出度为零和入度为零的顶点个数

    计算一个有向图中出度为零和入度为零的顶点个数 为了方便查找 有向图采用邻接矩阵实现 统计出度为0的顶点个数 即扫描邻接矩阵的某一行,记得加个tag进行标记大哥 void MGraph::Out0() ...

  5. Java黑皮书课后题第6章:*6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数。编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数

    6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数.编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数 题目 题目描述 破题 代码 运行示例 题目 ...

  6. java数组输入一个实数_用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和......

    导航:网站首页 > 用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和... 用java!!输入五个数,保存到一个数组中,然后将... C ...

  7. python 计算一个字符串中所有数字的和

    # 计算一个字符串中所有数字的和def numsum(s):sum = 0 #定义变量,准备记录数字的和for i in range(len(s)): #遍历字符串if s[i] >= '0' ...

  8. list申请java,java把一个list中的内容添加到另一个list中 FPGA编程问题:有多个.v文件与module,把他们加到......

    导航:网站首页 > java把一个list中的内容添加到另一个list中 FPGA编程问题:有多个.v文件与module,把他们加到... java把一个list中的内容添加到另一个list中 ...

  9. python计算坐标点欧式距离_Python计算一个点到所有点的欧式距离实现方法

    Python计算一个点到所有点的欧式距离实现方法 如下所示: distances = np.sqrt(np.sum(np.asarray(airportPosition - x_vals)**2, a ...

最新文章

  1. go 通道 返回_GCTT 出品 | Go 语言的缓冲通道:提示和技巧
  2. python编程面试题
  3. (转)Linux I/O 调度方法
  4. CDU集训代码:基础算法和数据结构2
  5. html设计网页技巧,网页设计技巧:网页表格设计技巧总结
  6. 在mysql中 11div4_雷林鹏分享:MySQL 运算符
  7. shell的date命令:使用方法,以及小时、分钟的计算
  8. (98)FPGA时序裕量
  9. layui移动端适配_web前端-移动端适配方案
  10. elementui上传图片加参数_Vue + Element UI使用富文本编辑器
  11. android 逆地址,Android高德获取逆地址编码(经纬度坐标-地址描述如省市区街道)
  12. openproj jvm erron 193
  13. 脑机接口的商业化道路,还要走多远多长?
  14. 【阅读笔记】Inverting Gradients -- How easy is it to break privacy in federated learning?
  15. 技术小卡系列之Eclipse 窗口说明
  16. java故事之致敬坚持梦想的人
  17. Win10系统新建菜单只有文件夹选项的处理方法
  18. yxy小菊蒻的201130总结
  19. java process 乱码_Java常见乱码原理及解决方案
  20. 信息学奥赛一本通——2068:【例2.6】鸡兔同笼

热门文章

  1. Github - repository project 区别?
  2. 皆爱高“淑商”女子——时代新词盘点
  3. 记录-汶川地震 20080512
  4. iOS组件化中xib转nib
  5. 大家好!我是happy_HuHu
  6. 中国医科大学网络教育计算机应用基础试题,作业与试题选集1906 中国医科大学《计算机应用基础 》复习题.docx...
  7. 044-Web前端-JS-键盘事件
  8. B站梨米特概率论与数理统计学习笔记(1)
  9. 2013-2014 NBA 东西部决赛 + 总决赛合集
  10. FPM(FastCGI Process Manager)