python中计算一个列表中连续相同的元素个数方法
最简单的例子:
a=[1,1,1,1,2,2,2,3,3,1,1,1,3] #问:计算a中最多有几个连续的1
很明显,答案是4
如果用代码实现,最先想到的就是itertools:
importitertools a=[1,1,1,1,2,2,2,3,3,1,1,1,3] printmax([len(list(v))fork,vinitertools.groupby(a)])
但是如果不想用itertools呢?
可以尝试以下的办法,效率还比itertools高一个数量级!
importrandom importtime importitertools random.seed(0) a=['1'ifrandom.random()>0.4else''foriinrange(1000000)] t=time.time() printmax([len(x)forxin''.join(a).split()]) printtime.time()-t t=time.time() printmax([len(list(v))fork,vinitertools.groupby(a)]) printtime.time()-t ##### #27 #0.050999879837 #27 #0.450000047684
以上这篇python中计算一个列表中连续相同的元素个数方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短