新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何用python實(shí)現(xiàn)滑動(dòng)窗口
在Python中,我們可以使用內(nèi)置的collections模塊中的deque數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)滑動(dòng)窗口,以下是一個(gè)簡(jiǎn)單的例子:

from collections import deque
def sliding_window(iterable, n):
# 創(chuàng)建一個(gè)雙端隊(duì)列
dq = deque(maxlen=n)
for item in iterable:
dq.append(item)
if len(dq) == n:
yield list(dq)
測(cè)試代碼
for window in sliding_window([1, 2, 3, 4, 5], 3):
print(window)
在這個(gè)例子中,我們首先從collections模塊導(dǎo)入deque類(lèi),我們定義了一個(gè)名為sliding_window的函數(shù),它接受一個(gè)可迭代對(duì)象和一個(gè)窗口大小作為參數(shù)。
在函數(shù)內(nèi)部,我們創(chuàng)建了一個(gè)最大長(zhǎng)度為n的雙端隊(duì)列dq,我們遍歷輸入的可迭代對(duì)象,將每個(gè)元素添加到隊(duì)列的末尾,當(dāng)隊(duì)列的長(zhǎng)度達(dá)到n時(shí),我們就生成一個(gè)新的列表,其中包含隊(duì)列中的所有元素。
我們使用一個(gè)簡(jiǎn)單的循環(huán)來(lái)測(cè)試我們的函數(shù),我們將一個(gè)包含五個(gè)元素的列表和窗口大小3傳遞給sliding_window函數(shù),然后打印出所有的滑動(dòng)窗口。
當(dāng)前題目:如何用python實(shí)現(xiàn)滑動(dòng)窗口
URL鏈接:http://www.5511xx.com/article/dpgehgo.html


咨詢(xún)
建站咨詢(xún)
