您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關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中怎么計算列表中連續相同的元素個數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。