第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

怎么突然就多出來了prevlines和pline 兩個(gè)變量,什么意思???

怎么突然就多出來了prevlines和pline 兩個(gè)變量,什么意思???

蕭十郎 2022-12-06 19:15:29
代碼如下from collections import dequedef search(lines, pattern, history=5):previous_lines = deque(maxlen=history)for line in lines:if pattern in line:yield line, previous_linesprevious_lines.append(line)# Example use on a fileif __name__ == '__main__':with open(r'../../cookbook/somefile.txt') as f:for line, prevlines in search(f, 'python', 5):for pline in prevlines:print(pline, end='')print(line, end='')print('-' * 20)解釋下 for line, prevlines in search(f, 'python', 5):for pline in prevlines:這兩句
查看完整描述

2 回答

?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

for line, prevlines in search(f, 'python', 5):
這行是調(diào)用上文中定義的search方法,這個(gè)方法中的最后是通過yield返回了兩個(gè)參數(shù)line,和previous_lines,yield是一個(gè)迭代器,具體用法這就不詳細(xì)說了,因?yàn)閥ield是返回兩個(gè)參數(shù),這句離要用line和prelines來接收兩個(gè)返回值,search方法中的三個(gè)參數(shù)根據(jù)上邊的方法中的定義分別為f是打開的文件的代指參照with open(r'../../cookbook/somefile.txt') as f,'python'是需要查找的條件,參照search方法中的if pattern in line:,5是指search方法中設(shè)定的deque雙向隊(duì)列的最大長度。
for pline in prevlines
這句是因?yàn)樵趕earch方法的結(jié)尾處previous_lines.append(line),把查找的包含'python'這句的line添加進(jìn)了previous_lines這個(gè)雙向隊(duì)列,要對這個(gè)雙向隊(duì)列遍歷輸出,所以采用這種寫法,其中的pline為代稱,可以為任意值,改成a,b,c也沒有影響,不過相對應(yīng)的輸出結(jié)果的print里的pline也要改成相對應(yīng)的a,b,c

查看完整回答
反對 回復(fù) 2022-12-10
?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊

yield line, previous_lines
yield關(guān)鍵字你自己去查下

查看完整回答
反對 回復(fù) 2022-12-10
  • 2 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)