今天就跟大家聊聊有關(guān)python中怎么計算列表中連續(xù)相同的元素個數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)是一家企業(yè)級云計算解決方案提供商,超15年IDC數(shù)據(jù)中心運營經(jīng)驗。主營GPU顯卡服務(wù)器,站群服務(wù)器,服務(wù)器托管,海外高防服務(wù)器,大帶寬服務(wù)器,動態(tài)撥號VPS,海外云手機,海外云服務(wù)器,海外服務(wù)器租用托管等。最簡單的例子:
a = [1,1,1,1,2,2,2,3,3,1,1,1,3] # 問:計算a中最多有幾個連續(xù)的1
很明顯,答案是4
如果用代碼實現(xiàn),最先想到的就是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高一個數(shù)量級!
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
看完上述內(nèi)容,你們對python中怎么計算列表中連續(xù)相同的元素個數(shù)有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,感謝大家的支持。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。